webpackJsonp([0], [function (e, t) {
    e.exports = function (e, t, r, i, n) {
        var s, a = e = e || {}, o = typeof e.default;
        "object" !== o && "function" !== o || (s = e, a = e.default);
        var u = "function" == typeof a ? a.options : a;
        t && (u.render = t.render, u.staticRenderFns = t.staticRenderFns), i && (u._scopeId = i);
        var c;
        if (n ? (c = function (e) {
                e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, e || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), r && r.call(this, e), e && e._registeredComponents && e._registeredComponents.add(n)
            }, u._ssrRegister = c) : r && (c = r), c) {
            var d = u.functional, p = d ? u.render : u.beforeCreate;
            d ? u.render = function (e, t) {
                return c.call(t), p(e, t)
            } : u.beforeCreate = p ? [].concat(p, c) : [c]
        }
        return {esModule: s, exports: a, options: u}
    }
}, , , , , , , , , , function (e, t, r) {
    "use strict";
    function i() {
        return z.default.http.get(J.APIURL() + "ajax_get_shop_coupon_list.action?", {
            params: {
                t: J.timesTamp(),
                shop_id: J.getShopId(),
                uid: J.getUserId()
            }
        })
    }

    function n() {
        return z.default.http.get(J.APIURL() + "ajax_get_pre_order?", {
            params: {
                shop_id: J.getShopId(),
                user_id: J.getUserId(),
                t: J.timesTamp()
            }
        })
    }

    function s() {
        return z.default.http.get(J.APIURL() + "ajaxGetShopData?", {params: {shop_id: J.getShopId(), t: J.timesTamp()}})
    }

    function a(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function o(e) {
        var t = e.parentHeight, r = e.parentScrollTop, i = e.ParentOffSetTop, n = e.chilOffSetTop, s = n - i;
        return s > r && s < t + r
    }

    function u(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function c(e, t) {
        return {
            id: e.id,
            name: e.name,
            currPrice: e.curr_price,
            curr_price: e.curr_price,
            selectedItemPrice: e.curr_price,
            item_id: e.item_id,
            price: e.price,
            type: e.type,
            price_type: e.price_type,
            is_discount: e.is_discount,
            userSelectedNum: t,
            originalPrice: e.originalPrice ? e.originalPrice : e.price,
            disct_rate: e.disct_rate || void 0,
            min_order_price: e.min_order_price || void 0
        }
    }

    function d(e, t) {
        var r = t.menuType, i = t.id, n = t.deputyId;
        if (0 === e.length)return -1;
        for (var s = 0, a = e.length; s < a; s++)if (e[s].id == i) {
            if ("single" === r)return s;
            if ("property" === r && e[s].propsIdString == n)return s;
            if ("suit" === r && e[s].suitsIdCombinationStr == n)return s
        }
        return -1
    }

    function p(e) {
        var t = e.newNum, r = e.data, i = "";
        if ("single" == r.type)i = r.id + "_" + t + "_" + r.price + "_" + r.name + "_" + r.curr_price + "_"; else {
            var n = r.sendDataFormat.split("_");
            n[1] = t, i = n.join("_")
        }
        return i
    }

    function l(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function m(e, t) {
        for (var r = 0, i = e.length; r < i; r++)if (e[r].id == t)return !0;
        return !1
    }

    function v(e, t) {
        var r = 0, i = 0, n = 0, s = 0;
        e.forEach(function (e, t) {
            i = Number(i) + Number(e.userSelectedNum), r = [r, e.userSelectedNum * e.currPrice].priceAddFormat(), n = [n, e.userSelectedNum * e.originalPrice].priceAddFormat(), e.disct_rate && 10 != e.disct_rate && (s = [s, e.userSelectedNum * e.currPrice].priceAddFormat())
        }), t.join_discount_price = s, t.countPrice = r, "1" == t.isOpenPlatformFee && r >= t.minCustomPrice ? t.platfromCollectStatus = !0 : t.platfromCollectStatus = !1, 0 != i ? localStorage.shopCarData = JSON.stringify({
            count: i,
            countPrice: r,
            originalPrice: n,
            join_discount_price: s,
            selectedMenus: e,
            platfromCollectStatus: t.platfromCollectStatus
        }) : localStorage.shopCarData && localStorage.removeItem("shopCarData")
    }

    function f(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function _(e, t) {
        for (var r = 0, i = 0, n = e.length; i < n; i++) {
            var s = e[i], a = s.values.length;
            if (0 !== a) {
                for (var o = 0; o < a; o++)s.values[o].status = !1;
                if (1 == s.is_required) {
                    s.values[0].status = !0;
                    r = [r, h(t, "#" + s.p_name_id + "_" + s.values[0].p_value_id + "#")].priceAddFormat()
                }
            }
        }
        return [e, r]
    }

    function h(e, t) {
        if (0 === e.length)return 0;
        for (var r = 0, i = e.length; r < i; r++)if (e[r].keys == t)return +e[r].price;
        return 0
    }

    function g(e, t) {
        for (var r = 0, i = 0, n = e.length; i < n; i++) {
            var s = e[i], a = 0;
            if (0 == +s.is_multiple)for (var o = 0, u = s.values.length; o < u; o++) {
                var c = h(t, "#" + s.p_name_id + "_" + s.values[o].p_value_id + "#");
                c > a && (a = c)
            } else for (var d = 0, p = s.values.length; d < p; d++) {
                var l = h(t, "#" + s.p_name_id + "_" + s.values[d].p_value_id + "#");
                a = [a, l].priceAddFormat()
            }
            r = [r, a].priceAddFormat()
        }
        return r
    }

    function y(e, t) {
        return "#" + e + "_" + t + "#"
    }

    function C(e) {
        var t = e.data, r = e.props, i = e.num, n = {sendDataFormat: t.id + "|" + t.price_type + "_" + i + "_" + t.originalPrice + "_" + t.name + "_" + t.price + "_!"}, s = [], a = t.id + "_";
        return r.map(function (e, t) {
            for (var r = 0, i = 0, o = e.values.length; i < o; i++) {
                if (e.values[i].status && "0" == e.is_multiple) {
                    s.push(e.values[i].p_value), r = 1, n.sendDataFormat = n.sendDataFormat + e.p_name_id + "=" + e.values[i].p_value_id + "!", a = a + e.values[i].p_value_id + "_";
                    break
                }
                e.values[i].status && "1" == e.is_multiple && 0 == r ? (s.push(e.values[i].p_value), r = 1, n.sendDataFormat = n.sendDataFormat + e.p_name_id + "=" + e.values[i].p_value_id + "!", a = a + e.values[i].p_value_id + "_") : e.values[i].status && "1" == e.is_multiple && 1 == r && (s.push(e.values[i].p_value), n.sendDataFormat = n.sendDataFormat + e.p_name_id + "=" + e.values[i].p_value_id + "!", a = a + e.values[i].p_value_id + "_")
            }
        }), [n, s, a.slice(0, -1)]
    }

    function b(e) {
        for (var t = 0, r = e.length; t < r; t++) {
            for (var i = e[t].is_required, n = 0, s = e[t], a = 0, o = s.values.length; a < o; a++)s.values[a].status && n++;
            if ("1" == i && 0 === n)return zr('"' + s.p_name + '"分组的属性没有选!'), !1
        }
        return !0
    }

    function P(e) {
        var t = e.group, r = e.propsPrice, i = e.i, n = e.price, s = e.originalPrice, a = y(t.p_name_id, t.values[i].p_value_id), o = h(r, a);
        if (t.values[i].status ? (t.values[i].status = !1, n = [n, o].priceReduceFormat(), s = [s, o].priceReduceFormat()) : (t.values[i].status = !0, n = [n, o].priceAddFormat(), s = [s, o].priceAddFormat()), 1 != t.is_multiple)for (var u = 0, c = t.values.length; u < c; u++) {
            var d = t.values[u];
            if (u != i && d.status) {
                d.status = !1;
                var p = y(t.p_name_id, d.p_value_id), l = h(r, p);
                n = [n, l].priceReduceFormat(), s = [s, l].priceReduceFormat()
            }
        }
        return {group: t, price: n, originalPrice: s}
    }

    function w(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function S(e) {
        for (var t = e.arr, r = e.price, i = e.originalPrice, n = !0, s = [], a = 0, o = 0, u = t.length; o < u; o++) {
            var c = t[o];
            c.index = o;
            var d = 0, p = [];
            "1" != c.max_select_no && (n = !1);
            for (var l = 0, m = c.suit_products.length; l < m; l++) {
                var v = c.suit_products[l];
                if (v.num = 0, 1 === m && 1 === Number(c.is_required) || 1 === Number(v.default_checked)) {
                    if (v.num = 1, r = [r, v.inc_price].priceAddFormat(), i = [i, v.inc_price].priceAddFormat(), d += 1, 0 != v.props.length)for (var f = 0, _ = v.props.length; f < _; f++) {
                        for (var h = 0, g = v.props[f].values.length; h < g; h++)v.props[f].values[h].status = !1;
                        "1" == v.props[f].is_required && (v.props[f].values[0].status = !0)
                    }
                } else if (0 != v.props.length)for (var y = 0, C = v.props.length; y < C; y++)for (var b = 0, P = v.props[y].values.length; b < P; b++)v.props[y].values[b].status = !1;
                p.push(+v.inc_price)
            }
            p.sort(function (e, t) {
                return t - e
            }), a = [a, +c.max_select_no * p[0]].priceAddFormat(), s.push({
                name: c.name,
                num: d,
                status: !1,
                id: c.suit_id
            })
        }
        return console.log(a), {single: n, arr: t, price: r, originalPrice: i, suitGroup: s, suitPrice: a}
    }

    function x(e) {
        var t = e.targetItem, r = e.suitGroup, i = e.groupIndex, n = e.index, s = e.num, a = e.max_select_no, o = e.price, u = e.originalPrice, c = e.suitsData;
        if (Number(r[i].num) + Number(s) <= Number(a)) {
            if (0 !== t[n].props.length && 0 === Number(t[n].num))for (var d = 0, p = t[n].props.length; d < p; d++) {
                for (var l = t[n].props[d], m = 0, v = l.values.length; m < v; m++)l.values[m].status = !1;
                "1" == l.is_required && (l.values[0].status = !0)
            }
            return t[n].num = Number(t[n].num) + Number(s), r[i].num = Number(r[i].num) + Number(s), o = [o, t[n].inc_price * s].priceAddFormat(), u = [u, t[n].inc_price * s].priceAddFormat(), c[i].suit_products = t, {
                status: !0,
                targetItem: t,
                suitGroup: r,
                originalPrice: u,
                price: o,
                suitsData: c
            }
        }
        if (1 === Number(a)) {
            for (var f = 0, _ = 0, h = 0, g = t.length; h < g; h++)1 === Number(t[h].num) && (t[h].num = 0, r[i].num = Number(r[i].num) - 1, f = _ = -t[h].inc_price);
            if (0 != t[n].props.length && 0 === Number(t[n].num))for (var y = 0, C = t[n].props.length; y < C; y++) {
                for (var b = t[n].props[y], P = 0, w = b.values.length; P < w; P++)b.values[P].status = !1;
                "1" == b.is_required && (b.values[0].status = !0)
            }
            return t[n].num = Number(t[n].num) + Number(s), r[i].num = Number(r[i].num) + Number(s), o = [o, t[n].inc_price * s, f].priceAddFormat(), u = [u, t[n].inc_price * s, _].priceAddFormat(), c[i].suit_products = t, {
                status: !0,
                targetItem: t,
                suitGroup: r,
                originalPrice: u,
                price: o,
                suitsData: c
            }
        }
        return zr('"' + r[i].name + '"最多选' + a + "项!"), {status: !1}
    }

    function I(e, t) {
        for (var r = 0, i = e.length; r < i; r++) {
            for (var n = e[r].is_required, s = 0, a = e[r], o = 0, u = a.values.length; o < u; o++)a.values[o].status && s++;
            if ("1" == n && 0 === s)return zr('"' + t + '"的"' + a.p_name + '"分组的属性没有选!'), !1
        }
        return !0
    }

    function k(e) {
        for (var t = 0, r = e.length; t < r; t++) {
            for (var i = e[t], n = e[t].min_select_no, s = 0, a = 0, o = i.suit_products.length; a < o; a++) {
                var u = i.suit_products[a];
                if (s += u.num, 0 != u.props.length && u.num) {
                    if (!I(u.props, u.product_name))return !1
                }
            }
            if (s < Number(n))return zr('"' + i.name + '"分组至少选' + n + "项!"), !1
        }
        return !0
    }

    function O(e) {
        var t = e.data, r = e.originalPrice, i = e.name, n = e.price, s = e.id, a = e.num, o = [], u = s + "_" + a + "_" + r + "_" + i + "_" + n + "_suit_", c = "";
        return t.map(function (e, t) {
            var r = !1;
            e.suit_products.map(function (t, i) {
                var n = {};
                if (t.num) {
                    r || (r = !0, u = u + e.name + ":" + e.suit_id + "="), n.name = t.product_name, n.num = t.num, n.suitItemId = t.product_id;
                    var s = [];
                    if (0 == t.props.length)o.push(n), u = u + this.suit_id + ":" + t.product_id + ":" + t.inc_price + ":" + t.product_name + ":" + t.num + "|"; else {
                        if (n.props = [], t.props.map(function (e, t) {
                                for (var t = 0, r = e.values.length; t < r; t++) {
                                    var i = {p_name_id: e.p_name_id, name: "", p_value_id: ""};
                                    e.values[t].status && (n.props.push(e.values[t].p_value), i.name = e.values[t].p_value, i.p_value_id = e.values[t].p_value_id, s.push(i))
                                }
                            }, s), 0 != s.length) {
                            u = u + this.suit_id + ":" + t.product_id + ":" + t.inc_price + ":" + t.product_name;
                            var a = "(", d = "";
                            s.map(function (e, t) {
                                a = a + e.name + "，", d = d + e.p_name_id + "=" + e.p_value_id + "!"
                            }), a = a.slice(0, -1) + ")", d = d.slice(0, -1), u = u + a + ":" + t.num + ":" + d + "|", n.name = n.name + a
                        } else u = u + this.suit_id + ":" + t.product_id + ":" + t.inc_price + ":" + t.product_name + ":" + t.num + "|";
                        o.push(n)
                    }
                    var p = [t.product_id].concat(s.map(function (e) {
                        return e.p_value_id
                    }));
                    c = c + p.join(":") + "_"
                }
            }, e), u = u.slice(0, -1) + "#"
        }), u = u.slice(0, -1), c = c.slice(0, -1), [u, c, o]
    }

    function N(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function T(e, t, r) {
        return t in e ? Object.defineProperty(e, t, {
            value: r,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = r, e
    }

    function A(e) {
        for (var t = [], r = [], i = [], n = 0, s = e.length; n < s; n++) {
            var a = e[n];
            if (a.num = 0, 0 == a.props.length && 0 == a.suit_items.length)a.type = "single", a.markup = !1; else if (0 != a.props.length && 0 == a.suit_items.length) {
                a.type = "property";
                for (var o = !1, u = 0, c = a.prop_prices.length; u < c; u++) {
                    var d = a.prop_prices[u];
                    if (0 != +d.price) {
                        o = !0;
                        break
                    }
                }
                a.markup = o
            } else {
                a.type = "suit";
                var p = !1;
                e:for (var l = 0, m = a.suit_items.length; l < m; l++)for (var v = a.suit_items[l], f = 0, _ = v.suit_products.length; f < _; f++) {
                    var h = v.suit_products[f];
                    if (console.log(h.inc_price), 0 != +h.inc_price) {
                        p = !0;
                        break e
                    }
                }
                a.markup = p
            }
            "1" != a.dinein_stop ? (i.push(Number(a.id)), r.push(a)) : t.push(a)
        }
        for (var g = 0, y = t.length; g < y; g++)i.push(Number(t[g].id));
        return [r.concat(t), i]
    }

    function D(e) {
        var t = e.commit, r = e.groupIndex, i = e.menuIndex, n = e.num, s = e.operateType, a = e.$eventX, o = e.$eventY;
        "add" == s ? (t("Menu/ADD", {
            groupIndex: r,
            menuIndex: i,
            num: n
        }), a && o && (void 0 != Ri && "none" != Ri.style.display ? E(a, o) : void 0 != (Ri = document.getElementById("shopCarIcon")) && ("none" === Ri.style.display ? Ri = void 0 : setTimeout(function () {
            E(a, o)
        }, 300)))) : t("Menu/REDUCE", {groupIndex: r, menuIndex: i, num: n})
    }

    function E(e, t) {
        if (e && t) {
            var r = document.createElement("div");
            r.classList.add("parabola"), r.style.left = e + -30 + "px", r.style.top = t + -30 + "px", document.body.appendChild(r);
            $i(r, Ri, {
                speed: "120", curvature: "0.002", complete: function () {
                    r.classList.add("hide"), setTimeout(function () {
                        document.body.removeChild(r)
                    })
                }
            }).mark().init()
        }
    }

    function $(e) {
        var t = e.commit, r = e.groupIndex, i = e.num;
        "add" == e.operateType ? t("Group/ADD", {groupIndex: r, num: i}) : t("Group/REDUCE", {groupIndex: r, num: i})
    }

    function M() {
        WeixinJSBridge.call("hideOptionMenu")
    }

    function R() {
        "undefined" == typeof WeixinJSBridge ? document.addEventListener ? document.addEventListener("WeixinJSBridgeReady", M, !1) : document.attachEvent && (document.attachEvent("WeixinJSBridgeReady", M), document.attachEvent("onWeixinJSBridgeReady", M)) : M()
    }

    function L(e) {
        for (var t = e.commit, r = e.id, i = e.groupId, n = e.num, s = e.operateType, a = e.$eventX, o = e.$eventY, u = ji, c = 0, d = u.length; c < d; c++) {
            var p = u[c].classifyId;
            if (i == p) {
                var l = u[c].productsId.indexOf(Number(r));
                return 1 != u[c].data[l].dinein_stop && (D({
                        commit: t,
                        groupIndex: c,
                        menuIndex: l,
                        num: n,
                        operateType: s,
                        $eventX: a,
                        $eventY: o
                    }), $({commit: t, groupIndex: c, num: n, operateType: s}), !0)
            }
            if (-1 != Gi.indexOf(p) && -1 != u[c].productsId.indexOf(Number(r))) {
                D({commit: t, groupIndex: c, menuIndex: u[c].productsId.indexOf(Number(r)), num: n, operateType: s})
            }
        }
        return !1
    }

    function F(e) {
        for (var t = e.id, r = e.groupId, i = ji, n = 0, s = i.length; n < s; n++) {
            if (r == i[n].classifyId) {
                var a = i[n].productsId.indexOf(Number(t));
                return -1 !== a && 1 != i[n].data[a].dinein_stop ? {
                    status: !0,
                    data: i[n].data[a],
                    groupIndex: n,
                    menuIndex: a
                } : {status: !1}
            }
        }
        return {status: !1}
    }

    function j(e, t) {
        for (var r = [], i = 0, n = e.length; i < n; i++)for (var s = e[i].values, a = 0, o = s.length; a < o; a++)r.push(Number(s[a].p_value_id));
        for (var u = 0, c = t.length; u < c; u++) {
            var d = t[u];
            if (-1 === r.indexOf(Number(d)))return !1
        }
        return !0
    }

    function G(e, t) {
        for (var r = t.split("_"), i = U(e), n = i.suitProductsIdArr, s = i.suitProductsPropsObj, a = 0, o = r.length; a < o; a++) {
            if (!B(e, r[a], n, s))return !1
        }
        return !0
    }

    function U(e) {
        for (var t = [], r = {}, i = 0, n = e.length; i < n; i++)for (var s = e[i].suit_products, a = 0, o = s.length; a < o; a++)if (t.push(Number(s[a].product_id)), 0 != s[a].props.length) {
            var u = t.length - 1;
            r["suit" + u] = s[a].props
        }
        return {suitProductsIdArr: t, suitProductsPropsObj: r}
    }

    function B(e, t, r, i) {
        var n = t.split(":"), s = void 0, a = [];
        n.length > 1 ? (s = n.shift(), a = n) : s = n[0];
        var o = r.indexOf(Number(s));
        if (-1 != o) {
            if (0 === a.length)return !0;
            return j(i["suit" + o], a)
        }
        return !1
    }

    function H(e, t) {
        for (var r = U(e), i = r.suitProductsIdArr, n = r.suitProductsPropsObj, s = 0, a = t.length; s < a; s++) {
            var o = t[s], u = i.indexOf(Number(o.sub_prod_id));
            if (-1 == u)return !1;
            if (0 != o.order_product_sku.length) {
                for (var c = [], d = 0, p = o.order_product_sku.length; d < p; d++)c.push(Number(o.order_product_sku[d].p_value_id));
                if (!j(n["suit" + u], c))return !1
            }
        }
        return !0
    }

    Object.defineProperty(t, "__esModule", {value: !0});
    var z = r(3), q = r(4), W = r(11), X = r.n(W), J = r(2);
    z.default.use(q.default), z.default.http.options.emulateJSON = !0;
    var V = r(1), Q = {
        name: "InfoBar", computed: Object(V.mapState)({
            info: function (e) {
                return e.InfoBar
            }, jumpStatus: function (e) {
                return e.jump
            }
        }), methods: {
            search: function () {
                MtaH5.clickStat("1009"), recordAction.add("010"), this.$router.push({path: "search"})
            }, jump: function () {
                var e = this;
                MtaH5.clickStat("1010"), recordAction.add("060"), this.jumpStatus || (this.$store.dispatch("openJumpPage"), setTimeout(function () {
                    document.addEventListener("click", e.clickHappen)
                }))
            }, clickHappen: function () {
                this.$store.dispatch("closeJumpPage"), document.removeEventListener("click", this.clickHappen)
            }, coupon: function () {
                this.$store.dispatch("checkCoupons"), this.$store.dispatch("switchBackdrop", {zIndex: 10})
            }
        }, created: function () {
            var e = this;
            i().then(function (t) {
                var r = t.data;
                e.$store.dispatch("InfoBar/initCoupon", {
                    coupons: r.list,
                    couponStatus: r.is_can_use_coupon
                }), e.$store.dispatch("ShopCar/initCoupon", {coupons: r.list, couponStatus: r.is_can_use_coupon})
            }).catch(function (e) {
                console.error(e)
            })
        }
    }, Y = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {attrs: {id: "info-bar"}}, [r("div", {staticClass: "shop-info"}, [r("img", {
            directives: [{
                name: "lazy",
                rawName: "v-lazy",
                value: e.info.shopLogo,
                expression: "info.shopLogo"
            }], staticClass: "shop-info_logo"
        }), e._v(" "), r("span", {staticClass: "shop-info_name"}, [e._v(e._s(e.info.shopName))])]), e._v(" "), r("div", {staticClass: "operation-btns"}, [r("i", {
            staticClass: "operation-icon search-icon",
            on: {click: e.search}
        }), e._v(" "), 0 !== e.info.couponNumber ? r("i", {
            staticClass: "operation-icon ticket-icon",
            on: {click: e.coupon}
        }, [r("b", [e._v(e._s(e.info.couponNumber))])]) : e._e(), e._v(" "), r("i", {
            staticClass: "operation-icon fn-icon",
            on: {click: e.jump}
        })])])
    }, K = [], Z = {
        render: Y,
        staticRenderFns: K
    }, ee = Z, te = r(0), re = te(Q, ee, null, null, null), ie = re.exports, ne = {
        name: "DDMenuItem",
        computed: Object(V.mapState)({
            isWX: function (e) {
                return e.isWX
            }
        }),
        props: {product: {type: Object}, showPicture: {type: Boolean}},
        methods: {
            minus: function (e) {
                this.$emit("reduce", e)
            }, plus: function (e, t) {
                var r = e.clientX, i = e.clientY;
                this.$emit("add", t, r, i)
            }, selected: function (e, t) {
                if ("1" != t.dinein_stop) {
                    var r = e.clientX, i = e.clientY;
                    this.$emit("add", t, r, i)
                }
            }
        }
    }, se = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("div", {staticClass: "menu-item"}, [e.showPicture ? r("div", {
            staticClass: "menu-item_img",
            on: {
                click: function (t) {
                    e.selected(t, e.product)
                }
            }
        }, [r("img", {
            directives: [{
                name: "lazy",
                rawName: "v-lazy",
                value: e.product.small_pic,
                expression: "product.small_pic"
            }], staticClass: "menu_img"
        })]) : e._e(), e._v(" "), r("div", {staticClass: "menu-item_info"}, [r("div", {staticClass: "menu-info_name_sale"}, [r("div", {staticClass: "menu_name"}, [e._v(e._s(e.product.name))]), e._v(" "), 0 != e.product.sales ? r("div", {staticClass: "menu_sale"}, [e._v("月售" + e._s(e.product.sales))]) : e._e()]), e._v(" "), r("div", {staticClass: "menu-info_price_operate"}, [r("div", {staticClass: "menu-info_price_other"}, [r("div", {staticClass: "menu-info_price"}, [r("div", {staticClass: "menu_current_price"}, [e._v("￥"), r("span", [e._v(e._s(e.product.curr_price))]), e.product.markup ? r("b", {staticClass: "small-txt"}, [e._v(" 起")]) : e._e()]), e._v(" "), e.product.curr_price != e.product.price ? r("div", {staticClass: "menu_original_price"}, [e._v("￥" + e._s(e.product.price))]) : e._e()]), e._v(" "), e.product.disct_rate && e.product.disct_rate < 10 ? [999 == e.product.pay_type ? r("div", {staticClass: "online-discount"}, [e._v("在线" + e._s(e.product.disct_rate) + "折")]) : e._e(), e._v(" "), 10 == e.product.pay_type && e.isWX ? r("div", {staticClass: "online-discount"}, [e._v("饭卡" + e._s(e.product.disct_rate) + "折")]) : e._e()] : e._e()], 2), e._v(" "), "single" === e.product.type && "1" != e.product.dinein_stop ? r("div", {staticClass: "menu_operate"}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.product.num,
                expression: "product.num"
            }], staticClass: "operate-minus-sign", on: {
                click: function (t) {
                    t.stopPropagation(), e.minus(e.product)
                }
            }
        }), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.product.num,
                expression: "product.num"
            }], staticClass: "operate-num"
        }, [e._v(e._s(e.product.num))]), e._v(" "), r("div", {
            staticClass: "operate-plus-sign",
            on: {
                click: function (t) {
                    t.stopPropagation(), e.plus(t, e.product)
                }
            }
        })]) : e._e(), e._v(" "), "single" != e.product.type && "1" != e.product.dinein_stop ? r("div", {
            staticClass: "menu_operate",
            on: {
                click: function (t) {
                    t.stopPropagation(), e.plus(t, e.product)
                }
            }
        }, ["property" == e.product.type ? r("div", {staticClass: "operate-select"}, [e._v("选择规格")]) : r("div", {staticClass: "operate-select"}, [e._v("选择套餐")]), e._v(" "), r("span", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.product.num,
                expression: "product.num"
            }], staticClass: "operate-select-num"
        }, [e._v(e._s(e.product.num))])]) : e._e(), e._v(" "), "1" == e.product.dinein_stop ? r("div", {staticClass: "sale-down"}, [e._v("\n                已售完\n            ")]) : e._e()])])])
    }, ae = [], oe = {
        render: se,
        staticRenderFns: ae
    }, ue = oe, ce = r(0), de = ce(ne, ue, null, null, null), pe = de.exports, le = {
        name: "bigMenu",
        computed: Object(V.mapState)({
            isWX: function (e) {
                return e.isWX
            }
        }),
        props: {product: {type: Object}},
        data: function () {
            var e = this.product.big_pic ? this.product.big_pic : this.product.small_pic;
            return e || (e = "http://imgcdn.diandianwaimai.com/dd_op/attached/image/imgs/160.png"), {imgObj: {backgroundImage: "url(" + e + ")"}}
        },
        methods: {
            minus: function (e) {
                this.$emit("reduce", e)
            }, plus: function (e, t) {
                var r = e.clientX, i = e.clientY;
                this.$emit("add", t, r, i)
            }, selected: function (e, t) {
                var r = e.clientX, i = e.clientY;
                t.num || "1" == t.dinein_stop || this.$emit("add", t, r, i)
            }
        }
    }, me = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            staticClass: "big-menu", on: {
                click: function (t) {
                    e.selected(t, e.product)
                }
            }
        }, [r("div", {
            staticClass: "bigMenu-pic",
            style: e.imgObj
        }), e._v(" "), r("div", {staticClass: "bigMenu-info"}, [r("div", {staticClass: "bigMenu-name-sale"}, [r("div", {staticClass: "menu_name"}, [e._v(e._s(e.product.name))]), e._v(" "), 0 != e.product.sales ? r("div", {staticClass: "menu_sale"}, [e._v("月售" + e._s(e.product.sales))]) : e._e()]), e._v(" "), r("div", {staticClass: "bigMenu-price-option"}, [r("div", {staticClass: "menu-info_price_other"}, [r("div", {staticClass: "menu-info_price"}, [r("div", {staticClass: "menu_current_price"}, [e._v("￥"), r("span", [e._v(e._s(e.product.curr_price))]), e.product.markup ? r("b", {staticClass: "small-txt"}, [e._v(" 起")]) : e._e()]), e._v(" "), e.product.curr_price != e.product.price ? r("div", {staticClass: "menu_original_price"}, [e._v("￥" + e._s(e.product.price))]) : e._e()]), e._v(" "), e.product.disct_rate && e.product.disct_rate < 10 ? [999 == e.product.pay_type ? r("div", {staticClass: "online-discount"}, [e._v("在线" + e._s(e.product.disct_rate) + "折")]) : e._e(), e._v(" "), 10 == e.product.pay_type && e.isWX ? r("div", {staticClass: "online-discount"}, [e._v("饭卡" + e._s(e.product.disct_rate) + "折")]) : e._e()] : e._e()], 2), e._v(" "), "single" === e.product.type && "1" != e.product.dinein_stop ? r("div", {staticClass: "menu_operate"}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.product.num,
                expression: "product.num"
            }], staticClass: "operate-minus-sign", on: {
                click: function (t) {
                    t.stopPropagation(), e.minus(e.product)
                }
            }
        }), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.product.num,
                expression: "product.num"
            }], staticClass: "operate-num"
        }, [e._v(e._s(e.product.num))]), e._v(" "), r("div", {
            staticClass: "operate-plus-sign",
            on: {
                click: function (t) {
                    t.stopPropagation(), e.plus(t, e.product)
                }
            }
        })]) : e._e(), e._v(" "), "single" != e.product.type && "1" != e.product.dinein_stop ? r("div", {
            staticClass: "menu_operate",
            on: {
                click: function (t) {
                    t.stopPropagation(), e.plus(t, e.product)
                }
            }
        }, ["property" == e.product.type ? r("div", {staticClass: "operate-select"}, [e._v("选择规格")]) : r("div", {staticClass: "operate-select"}, [e._v("选择套餐")]), e._v(" "), r("span", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.product.num,
                expression: "product.num"
            }], staticClass: "operate-select-num"
        }, [e._v(e._s(e.product.num))])]) : e._e(), e._v(" "), "1" == e.product.dinein_stop ? r("div", {staticClass: "sale-down"}, [e._v("\n                已售完\n            ")]) : e._e()])])])
    }, ve = [], fe = {
        render: me,
        staticRenderFns: ve
    }, _e = fe, he = r(0), ge = he(le, _e, null, null, null), ye = ge.exports, Ce = {
        name: "MenuArea",
        components: {"menu-item": pe, "big-menu": ye},
        computed: Object(V.mapState)({
            menuData: function (e) {
                return e.Menu.menuData
            }, showPicture: function (e) {
                return e.Menu.showPicture
            }
        }),
        methods: {
            fetchData: function () {
                console.log(111)
            }, plus: function (e, t, r) {
                recordAction.add("002", e.id), "single" === e.type ? (this.$store.dispatch("synDiffGroupMenuData", {
                    id: e.id,
                    groupId: e.item_id,
                    num: 1,
                    operateType: "add",
                    $eventX: t,
                    $eventY: r
                }), this.$store.dispatch("ShopCar/addSingle", {
                    data: e,
                    num: 1
                })) : "property" === e.type ? (this.$store.dispatch("Property/initProps", {data: e}), this.$router.push("propertyModel")) : (this.$store.dispatch("Suit/initSuit", {data: e}), this.$router.push("suitModel"))
            }, minus: function (e) {
                recordAction.add("059", e.id), "single" === e.type && (this.$store.dispatch("synDiffGroupMenuData", {
                    id: e.id,
                    groupId: e.item_id,
                    num: -1,
                    operateType: "reduce"
                }), this.$store.dispatch("ShopCar/reduceSingle", {data: e, num: -1}))
            }, init: function () {
                for (var e = [], t = this.$refs.menuArea.offsetTop, r = this.$refs.groupTitle.length, i = 0; i < r; i++)e.push(this.$refs.groupTitle[i].offsetTop - t);
                this.$store.dispatch("Menu/scroll", {
                    menuAreaDom: this.$refs.menuArea,
                    groupTitle: e,
                    groupTitleDom: this.$refs.groupTitle
                }), this.$store.commit("Menu/INITGROUPDOM", {arr: this.$refs.groupTitle});
                var n = this.$store.state.Menu.menuData[0].data[0];
                this.$store.dispatch("synDiffGroupMenuData", {id: n.id, groupId: n.item_id, num: 0, operateType: "add"})
            }
        },
        updated: function () {
            this.init()
        }
    }, be = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            ref: "menuArea",
            staticClass: "scrollbar",
            attrs: {id: "menu-area"}
        }, [r("div", e._l(e.menuData, function (t) {
            return r("section", {key: t.classifyId, staticClass: "menuGroup"}, [r("h2", {
                ref: "groupTitle",
                refInFor: !0,
                staticClass: "group-title"
            }, [e._v(e._s(t.title))]), e._v(" "), e._l(t.data, function (t) {
                return ["8" == t.pic_show_patt && e.showPicture && "1" != t.dinein_stop ? r("big-menu", {
                    key: t.id,
                    attrs: {product: t},
                    on: {add: e.plus, reduce: e.minus}
                }) : r("menu-item", {
                    key: t.id,
                    attrs: {showPicture: e.showPicture, product: t},
                    on: {add: e.plus, reduce: e.minus}
                })]
            })], 2)
        }))])
    }, Pe = [], we = {
        render: be,
        staticRenderFns: Pe
    }, Se = we, xe = r(0), Ie = xe(Ce, Se, null, null, null), ke = Ie.exports, Oe = {
        name: "NavArea",
        computed: Object(V.mapState)({
            group: function (e) {
                return e.Group.data
            }
        }),
        methods: {
            switchGroup: function (e, t) {
                recordAction.add("001", t), this.$store.state.Group.currentIndex != e && this.$store.dispatch("Menu/scrollTargetDom", {index: e})
            }, init: function () {
                this.$store.commit("Group/INITGROUPDOM", {
                    arr: this.$refs.groupItems,
                    navAreaDom: document.getElementById("nav-area")
                })
            }
        },
        updated: function () {
            this.init()
        }
    }, Ne = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            staticClass: "scrollbar",
            attrs: {id: "nav-area"}
        }, [r("div", {attrs: {id: "nav-list"}}, e._l(e.group, function (t, i) {
            return r("div", {
                key: t.id,
                ref: "groupItems",
                refInFor: !0,
                class: {selected: t.status, def: !t.status},
                on: {
                    click: function (r) {
                        e.switchGroup(i, t.id)
                    }
                }
            }, [r("span", [e._v(e._s(t.itemname))]), r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "0" != t.num,
                    expression: "item.num!='0'"
                }], staticClass: "group_num"
            }, [e._v(e._s(t.num))])])
        }))])
    }, Te = [], Ae = {
        render: Ne,
        staticRenderFns: Te
    }, De = Ae, Ee = r(0), $e = Ee(Oe, De, null, null, null), Me = $e.exports, Re = {
        name: "ShopCarBar",
        computed: Object(V.mapGetters)({
            menuCount: "ShopCar/menuCount",
            price: "ShopCar/price",
            discountPrompt: "ShopCar/discountPrompt",
            platformFeePrompt: "ShopCar/platformFeePrompt"
        }),
        methods: {
            switchShopCar: function () {
                MtaH5.clickStat("1002"), recordAction.add("003"), this.$store.dispatch("ShopCar/switchShopCar")
            }, test: function () {
                recordAction.add("004"), MtaH5.clickStat("1002d")
            }, next: function () {
                this.$store.dispatch("ShopCar/next")
            }
        }
    }, Le = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", [r("transition", {attrs: {name: "emptyShopCar"}}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.menuCount,
                expression: "!menuCount"
            }], attrs: {id: "emptyShopCar"}, on: {click: e.test}
        })]), e._v(" "), r("transition", {attrs: {name: "shopCarBar"}}, [r("section", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.menuCount,
                expression: "menuCount"
            }], attrs: {id: "shopCar"}
        }, [r("div", {
            attrs: {id: "shopCar-info"},
            on: {click: e.switchShopCar}
        }, [r("b", {staticClass: "shopCar-num"}, [e._v(e._s(e.menuCount))]), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.menuCount,
                expression: "menuCount"
            }], staticClass: "shopCar-icon", attrs: {id: "shopCarIcon"}
        }), e._v(" "), r("div", {staticClass: "shopCar-price"}, [r("div", [e._v("共￥" + e._s(e.price))]), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.platformFeePrompt,
                expression: "platformFeePrompt"
            }], staticClass: "platformFeePrompt"
        }, [e._v(e._s(e.platformFeePrompt))])])]), e._v(" "), r("div", {
            attrs: {id: "next-step"},
            on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.next(t)
                }
            }
        }, [e._v("选好了")]), e._v(" "), r("transition", {attrs: {name: "backdrop"}}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.discountPrompt,
                expression: "discountPrompt"
            }], attrs: {id: "discountPrompt"}
        }, [e._v(e._s(e.discountPrompt))])])], 1)])], 1)
    }, Fe = [], je = {
        render: Le,
        staticRenderFns: Fe
    }, Ge = je, Ue = r(0), Be = Ue(Re, Ge, null, null, null), He = Be.exports, ze = Object.assign || function (e) {
            for (var t = 1; t < arguments.length; t++) {
                var r = arguments[t];
                for (var i in r)Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i])
            }
            return e
        }, qe = {
        name: "ShopCarModel", computed: ze({}, Object(V.mapState)({
            shopCar: function (e) {
                return e.ShopCar
            }
        })), methods: {
            close: function () {
                this.$store.dispatch("ShopCar/switchShopCar")
            }, add: function (e) {
                this.$store.dispatch("ShopCar/shopCarAdd", {index: e})
            }, reduce: function (e) {
                this.$store.dispatch("ShopCar/shopCarReduce", {index: e})
            }, clear: function () {
                recordAction.add("005"), this.$store.dispatch("ShopCar/clearShopCar")
            }
        }, mounted: function () {
            this.$store.dispatch("fixScrollBreakthrough", {state: "close"})
        }, beforeDestroy: function () {
            this.$store.dispatch("fixScrollBreakthrough", {state: "open"})
        }
    }, We = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            staticClass: "model", on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.close(t)
                }, touchmove: function (e) {
                    if (e.target !== e.currentTarget)return null;
                    e.stopPropagation(), e.preventDefault()
                }
            }
        }, [r("section", {
            attrs: {id: "shopCarModel"}, on: {
                touchstart: function (e) {
                    if (e.target !== e.currentTarget)return null;
                    e.stopPropagation(), e.preventDefault()
                }
            }
        }, [r("div", {staticClass: "shopCarModel-header"}, [r("div", {staticClass: "shopCarModel-title"}, [e._v("购物车")]), e._v(" "), r("div", {
            staticClass: "shopCarModel-clean",
            on: {click: e.clear}
        }, [r("i", {staticClass: "shopCarModel-clean-icon"}), r("span", {staticClass: "shopCarModel-clean-text"}, [e._v("清空购物车")])])]), e._v(" "), r("div", {staticClass: "shopCarModel-body scrollbar"}, [r("ul", {staticClass: "shopCarModel-list"}, [e._l(e.shopCar.selectedMenus, function (t, i) {
            return ["suit" != t.type ? r("li", {
                key: t.id,
                staticClass: "shopCarModel-single-item"
            }, [r("div", {staticClass: "shopCarModel-single-item_name"}, [e._v(e._s(t.name))]), e._v(" "), r("div", {staticClass: "shopCarModel-single-item_other"}, [r("div", {staticClass: "shopCarModel-item-price"}, [e._v("￥" + e._s(t.currPrice))]), e._v(" "), r("div", {staticClass: "menu_operate"}, [r("div", {
                staticClass: "operate-minus-sign",
                on: {
                    click: function (t) {
                        t.stopPropagation(), e.reduce(i)
                    }
                }
            }), e._v(" "), r("div", {staticClass: "operate-num"}, [e._v(e._s(t.userSelectedNum))]), e._v(" "), r("div", {
                staticClass: "operate-plus-sign",
                on: {
                    click: function (t) {
                        t.stopPropagation(), e.add(i)
                    }
                }
            })])])]) : r("li", {
                key: t.id,
                staticClass: "shopCarModel-suit-item"
            }, [r("div", {staticClass: "shopCarModel-suit-main"}, [r("div", {staticClass: "shopCarModel-single-item_name"}, [e._v(e._s(t.name))]), e._v(" "), r("div", {staticClass: "shopCarModel-single-item_other"}, [r("div", {staticClass: "shopCarModel-item-price"}, [e._v("￥" + e._s(t.currPrice))]), e._v(" "), r("div", {staticClass: "menu_operate"}, [r("div", {
                staticClass: "operate-minus-sign",
                on: {
                    click: function (t) {
                        t.stopPropagation(), e.reduce(i)
                    }
                }
            }), e._v(" "), r("div", {staticClass: "operate-num"}, [e._v(e._s(t.userSelectedNum))]), e._v(" "), r("div", {
                staticClass: "operate-plus-sign",
                on: {
                    click: function (t) {
                        t.stopPropagation(), e.add(i)
                    }
                }
            })])])]), e._v(" "), e._l(t.suitItem, function (t) {
                return r("div", {
                    key: t.suitItemId,
                    staticClass: "shopCarModel-suit-child"
                }, [r("div", {staticClass: "shopCarModel-suit-child_name"}, [e._v(e._s(t.name))]), e._v(" "), r("div", {staticClass: "shopCarModel-suit-child_num"}, [e._v("x" + e._s(t.num))])])
            })], 2)]
        })], 2)])])])
    }, Xe = [], Je = {
        render: We,
        staticRenderFns: Xe
    }, Ve = Je, Qe = r(0), Ye = Qe(qe, Ve, null, null, null), Ke = Ye.exports, Ze = {
        name: "Coupons",
        data: function () {
            return {closeStatus: !1}
        },
        computed: Object(V.mapState)({
            coupons: function (e) {
                return e.InfoBar.coupons
            }
        }),
        methods: {
            week: function (e) {
                if (e) {
                    for (var t = [0, "周一", "周二", "周三", "周四", "周五", "周六", "周日"], r = ["周一,周二,周三,周四,周五", "周六,周日"], i = [], n = "", s = e.split(","), a = 0, o = s.length; a < o; a++)i.push(t[s[a]]);
                    n = i.join(",");
                    var u = r.indexOf(n);
                    return n = -1 != u && 0 == u ? "限每周一至周五" : -1 != u && 1 == u ? "限每周末" : "限每" + n
                }
                return ""
            }, close: function () {
                this.$store.dispatch("checkCoupons"), this.$store.dispatch("switchBackdrop", {})
            }
        }
    }, et = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            attrs: {id: "coupons"}, on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.close(t)
                }
            }
        }, [r("section", {staticClass: "couponList scrollbar"}, [r("div", e._l(e.coupons, function (t) {
            return r("div", {
                key: t.id,
                staticClass: "coupon-item"
            }, [r("div", {staticClass: "coupon-info"}, [0 == t.order_min_price && 1 != t.coupontype ? r("b", {staticClass: "coupon-title"}, [e._v(e._s(t.par_value) + "元立减券")]) : e._e(), e._v(" "), t.order_min_price > 0 && 1 != t.coupontype ? r("b", {staticClass: "coupon-title"}, [e._v("\n                        满" + e._s(t.order_min_price) + "减" + e._s(t.par_value) + "券\n                    ")]) : e._e(), e._v(" "), 1 == t.coupontype ? r("b", {staticClass: "coupon-title"}, [r("span", [e._v(e._s(t.real_favorable_price) + '元吃"' + e._s(t.product_name) + '"券')])]) : e._e(), e._v(" "), 1 == t.coupontype ? r("div", {staticClass: "coupon-day"}, [e._v("最低消费" + e._s(t.order_min_price) + "元")]) : e._e(), e._v(" "), r("div", {staticClass: "coupon-day"}, [t.start_date ? r("span", [e._v(e._s(t.start_date) + "~")]) : e._e(), t.invalid_date ? r("span", [e._v(e._s(t.invalid_date))]) : e._e()]), e._v(" "), r("div", {staticClass: "coupon-day"}, [e._v(e._s(e.week(t.week_days))), t.time_slots ? r("span", [e._v(e._s(t.time_slots) + "可使用")]) : e._e()])]), e._v(" "), r("div", {staticClass: "coupon-amount"}, [r("div", {staticClass: "coupon-amount_num"}, [e._v(e._s(t.par_value))])])])
        }))]), e._v(" "), r("div", {staticClass: "coupon-close"}, [r("i", {
            on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.close(t)
                }
            }
        })])])
    }, tt = [], rt = {
        render: et,
        staticRenderFns: tt
    }, it = rt, nt = r(0), st = nt(Ze, it, null, null, null), at = st.exports, ot = {
        name: "Advert",
        props: ["img"],
        data: function () {
            return {imgObj: {backgroundImage: "url(" + this.img + ")"}}
        },
        methods: {
            close: function () {
                this.$store.dispatch("closeAdvert")
            }
        }
    }, ut = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            attrs: {id: "advert"},
            on: {click: e.close}
        }, [r("div", {staticClass: "advert-img"}, [r("div", {style: e.imgObj})]), e._v(" "), r("div", {staticClass: "coupon-close"}, [r("i", {
            on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.close(t)
                }
            }
        })])])
    }, ct = [], dt = {
        render: ut,
        staticRenderFns: ct
    }, pt = dt, lt = r(0), mt = lt(ot, pt, null, null, null), vt = mt.exports, ft = {
        name: "PreOrder",
        props: {preOrder: {type: Array}, preOrderStatus: {type: Boolean}},
        methods: {
            certain: function () {
                this.$emit("closePreOrder")
            }
        }
    }, _t = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            attrs: {id: "preOrder-model"},
            on: {click: e.certain}
        }, [r("section", {attrs: {id: "preOrder"}}, [r("h1", {attrs: {id: "preOrder-title"}}, [e._v("美味D图小程序订单")]), e._v(" "), r("div", {staticClass: "preOrder-body"}, [r("ul", {staticClass: "preOrder-list"}, e._l(e.preOrder, function (t, i) {
            return r("li", {
                key: i,
                staticClass: "preOrder-item",
                class: {preOrderError: !t.status}
            }, [r("div", [e._v(e._s(i + 1) + ". " + e._s(t.product_name))]), e._v(" "), t.status ? e._e() : r("div", [e._v("--- 此菜品数据有变更请重新选择")])])
        }))]), e._v(" "), r("div", {staticClass: "preOrder-btn"}, [r("div", {
            on: {
                click: function (t) {
                    t.stopPropagation(), e.certain(t)
                }
            }
        }, [e._v("确 定")])]), e._v(" "), e.preOrderStatus ? r("h2", {attrs: {id: "preOrder-prompt"}}, [e._v("注：菜品详情请点击购物车查看。")]) : e._e()])])
    }, ht = [], gt = {
        render: _t,
        staticRenderFns: ht
    }, yt = gt, Ct = r(0), bt = Ct(ft, yt, null, null, null), Pt = bt.exports, wt = r(6), St = r.n(wt), xt = r(5), It = Object.assign || function (e) {
            for (var t = 1; t < arguments.length; t++) {
                var r = arguments[t];
                for (var i in r)Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i])
            }
            return e
        }, kt = {
        name: "PropertyModel",
        computed: It({}, Object(V.mapGetters)({displayRang: "Property/displayRang"}), Object(V.mapState)({
            propObj: function (e) {
                return e.Property
            }, props: function (e) {
                return e.Property.props
            }
        })),
        methods: {
            selected: function (e, t) {
                this.$store.dispatch("Property/selectProp", {index: e, i: t})
            }, close: function () {
                this.$router.back()
            }, certain: function () {
                var e = this;
                this.$store.dispatch("Property/certain").then(function (t) {
                    t && e.$router.back()
                }).catch(function (e) {
                })
            }
        },
        beforeCreate: function () {
            this.$store.state.Property.name || this.$router.back()
        }
    }, Ot = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            attrs: {id: "property-model"}, on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.close(t)
                }, touchmove: function (e) {
                    if (e.target !== e.currentTarget)return null;
                    e.stopPropagation(), e.preventDefault()
                }
            }
        }, [r("section", {staticClass: "menu-modal"}, [r("div", {staticClass: "menu-modal-header"}, [r("div", {staticClass: "menu-modal-img"}, [r("img", {
            directives: [{
                name: "lazy",
                rawName: "v-lazy",
                value: e.propObj.img,
                expression: "propObj.img"
            }]
        })]), e._v(" "), r("div", {staticClass: "menu-modal-info"}, [r("div", {staticClass: "menu-modal-name"}, [e._v(e._s(e.propObj.name))]), e._v(" "), 0 != e.propObj.sales ? r("div", {staticClass: "menu-modal-sale"}, [e._v("销量" + e._s(e.propObj.sales))]) : e._e(), e._v(" "), r("div", {staticClass: "menu-modal-price"}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !1,
                expression: "false"
            }]
        }, [r("span", [r("i", [e._v("￥")]), r("b", [e._v(e._s(e.propObj.minPrice))])]), r("b", [e._v("~")]), r("span", [r("i", [e._v("￥")]), r("b", [e._v(e._s(e.propObj.maxPrice))])])]), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.displayRang,
                expression: "!displayRang"
            }]
        }, [r("i", [e._v("￥")]), r("span", {staticClass: "modal-minPrice"}, [e._v(e._s(e.propObj.price))]), e.propObj.price == e.propObj.minPrice && e.propObj.markup ? r("b", {staticClass: "small-txt"}, [e._v(" 起")]) : e._e()]), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.displayRang,
                expression: "displayRang"
            }]
        }, [r("i", [e._v("￥")]), r("span", {staticClass: "modal-minPrice"}, [e._v(e._s(e.propObj.minPrice))]), r("b", {staticClass: "small-txt"}, [e._v(" 起")])])])])]), e._v(" "), r("div", {staticClass: "menu-modal-body"}, [r("div", {staticClass: "property-ul"}, e._l(e.props, function (t, i) {
            return r("div", {
                key: t.p_name_id,
                staticClass: "property-li"
            }, [r("h3", {staticClass: "property-group-title"}, [e._v(e._s(t.p_name)), "1" == t.is_required ? r("span", {staticClass: "property-group-request"}, [e._v("（必选）")]) : e._e()]), e._v(" "), r("section", {staticClass: "property-body"}, [e._l(t.values, function (t, n) {
                return [r("div", {
                    key: t.p_value_id,
                    class: {"property-item-default": !t.status, "property-item-selected": t.status},
                    on: {
                        click: function (t) {
                            e.selected(i, n)
                        }
                    }
                }, [e._v("\n                                " + e._s(t.p_value) + "\n                            ")])]
            })], 2)])
        }))]), e._v(" "), r("div", {
            staticClass: "menu-modal-footer",
            on: {click: e.certain}
        }, [r("div", [e._v("加入购物")])])])])
    }, Nt = [], Tt = {
        render: Ot,
        staticRenderFns: Nt
    }, At = Tt, Dt = r(0), Et = Dt(kt, At, null, null, null), $t = Et.exports, Mt = {
        name: "DdProps",
        props: {
            proplist: {
                type: Array, required: !0, default: function () {
                    return []
                }
            }, parent: {type: Number, default: -1, required: !1}
        },
        methods: {
            selected: function (e, t) {
                this.$emit("select", {index: e, i: t, parent: this.parent})
            }
        }
    }, Rt = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("div", {staticClass: "property-ul"}, e._l(e.proplist, function (t, i) {
            return r("div", {
                key: t.p_name_id,
                staticClass: "property-li"
            }, [r("h3", {staticClass: "property-group-title"}, [e._v(e._s(t.p_name)), "1" == t.is_required ? r("span", {staticClass: "property-group-request"}, [e._v("（必选）")]) : e._e()]), e._v(" "), r("section", {staticClass: "property-body"}, [e._l(t.values, function (t, n) {
                return [r("div", {
                    key: t.p_value_id,
                    class: {"property-item-default": !t.status, "property-item-selected": t.status},
                    on: {
                        click: function (t) {
                            e.selected(i, n)
                        }
                    }
                }, [e._v("\r\n                    " + e._s(t.p_value) + "\r\n                ")])]
            })], 2)])
        }))
    }, Lt = [], Ft = {
        render: Rt,
        staticRenderFns: Lt
    }, jt = Ft, Gt = r(0), Ut = Gt(Mt, jt, null, null, null), Bt = Ut.exports, Ht = Object.assign || function (e) {
            for (var t = 1; t < arguments.length; t++) {
                var r = arguments[t];
                for (var i in r)Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i])
            }
            return e
        }, zt = {
        name: "SuitModel",
        components: {DdProps: Bt},
        computed: Ht({}, Object(V.mapGetters)({displayRang: "Suit/displayRang"}), Object(V.mapState)({
            name: function (e) {
                return e.Suit.name
            }, img: function (e) {
                return e.Suit.img
            }, suitGroup: function (e) {
                return e.Suit.suitGroup
            }, currentGroup: function (e) {
                return e.Suit.currentGroup
            }, currentList: function (e) {
                return e.Suit.currentList
            }, maxPrice: function (e) {
                return e.Suit.maxPrice
            }, minPrice: function (e) {
                return e.Suit.minPrice
            }, price: function (e) {
                return e.Suit.price
            }, sales: function (e) {
                return e.Suit.sales
            }, markup: function (e) {
                return e.Suit.markup
            }
        })),
        methods: {
            selectProps: function (e, t, r) {
                this.$store.dispatch("Suit/propsSelect", {index: e, i: t, parent: r})
            }, selectSingle: function (e, t) {
                0 === Number(t) ? this.add(e) : this.reduce(e)
            }, add: function (e) {
                this.$store.dispatch("Suit/addItem", {index: e})
            }, reduce: function (e) {
                this.$store.dispatch("Suit/reduceItem", {index: e})
            }, switchGroup: function (e) {
                this.$store.dispatch("Suit/switchGroup", {index: e})
            }, certain: function () {
                var e = this;
                this.$store.dispatch("Suit/certain").then(function (t) {
                    t && e.$router.back()
                }).catch(function (e) {
                    console.error(e)
                })
            }, close: function () {
                this.$router.back()
            }
        },
        beforeCreate: function () {
            this.$store.state.Suit.name || this.$router.back()
        }
    }, qt = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            attrs: {id: "property-model"}, on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.close(t)
                }, touchmove: function (e) {
                    if (e.target !== e.currentTarget)return null;
                    e.stopPropagation(), e.preventDefault()
                }
            }
        }, [r("section", {staticClass: "menu-modal"}, [r("div", {
            staticClass: "menu-modal-header",
            on: {
                touchmove: function (e) {
                    if (e.target !== e.currentTarget)return null;
                    e.stopPropagation(), e.preventDefault()
                }
            }
        }, [r("div", {staticClass: "menu-modal-img"}, [r("img", {
            directives: [{
                name: "lazy",
                rawName: "v-lazy",
                value: e.img,
                expression: "img"
            }]
        })]), e._v(" "), r("div", {staticClass: "menu-modal-info"}, [r("div", {staticClass: "menu-modal-name"}, [e._v(e._s(e.name))]), e._v(" "), 0 != e.sales ? r("div", {staticClass: "menu-modal-sale"}, [e._v("销量" + e._s(e.sales))]) : e._e(), e._v(" "), r("div", {staticClass: "menu-modal-price"}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !1,
                expression: "false"
            }]
        }, [r("span", [r("i", [e._v("￥")]), r("b", [e._v(e._s(e.minPrice))])]), r("b", [e._v("~")]), r("span", [r("i", [e._v("￥")]), r("b", [e._v(e._s(e.maxPrice))])])]), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.displayRang,
                expression: "!displayRang"
            }]
        }, [r("i", [e._v("￥")]), r("span", {staticClass: "modal-minPrice"}, [e._v(e._s(e.price))]), e.price == e.minPrice && e.markup ? r("b", {staticClass: "small-txt"}, [e._v(" 起")]) : e._e()]), e._v(" "), r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.displayRang,
                expression: "displayRang"
            }]
        }, [r("i", [e._v("￥")]), r("span", {staticClass: "modal-minPrice"}, [e._v(e._s(e.minPrice))]), r("b", {staticClass: "small-txt"}, [e._v(" 起")])])])])]), e._v(" "), r("div", {staticClass: "suit-modal-body"}, [r("section", {staticClass: "suit-group"}, [r("section", e._l(e.suitGroup, function (t, i) {
            return r("div", {
                key: t.id,
                class: {"suit-group-name": !t.status, "suit-group-name_selected": t.status},
                on: {
                    click: function (t) {
                        e.switchGroup(i)
                    }
                }
            }, [r("span", [e._v(e._s(t.name)), r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "0" != t.num,
                    expression: "item.num!='0'"
                }], staticClass: "suti-group_num"
            }, [e._v(e._s(t.num))])])])
        }))]), e._v(" "), r("div", {staticClass: "suit-menu"}, [r("h3", {staticClass: "suit-menu-title"}, [e._v(e._s(e.currentGroup.name)), "1" == e.currentGroup.is_required ? r("b", [e._v("(必选:" + e._s(e.currentGroup.min_select_no) + "项)")]) : e._e()]), e._v(" "), r("section", {staticClass: "suit-item-list"}, [r("ul", {staticClass: "suit-multiple"}, e._l(e.currentList, function (t, i) {
            return r("li", {
                key: t.product_id,
                staticClass: "suit-multiple-item"
            }, ["1" != e.currentGroup.max_select_no ? r("div", {staticClass: "suit"}, [r("div", {staticClass: "suit-multiple-item_name"}, [e._v(e._s(t.product_name))]), e._v(" "), r("div", {staticClass: "suit-multiple-item-operate"}, [r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "0" != t.num,
                    expression: "value.num != '0'"
                }], staticClass: "operate-minus-sign", on: {
                    click: function (t) {
                        e.reduce(i)
                    }
                }
            }), e._v(" "), r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "0" != t.num,
                    expression: "value.num != '0'"
                }], staticClass: "operate-num"
            }, [e._v(e._s(t.num))]), e._v(" "), r("div", {
                staticClass: "operate-plus-sign", on: {
                    click: function (t) {
                        e.add(i)
                    }
                }
            })])]) : e._e(), e._v(" "), "1" == e.currentGroup.max_select_no ? r("div", {
                staticClass: "suit",
                on: {
                    click: function (r) {
                        e.selectSingle(i, t.num)
                    }
                }
            }, [r("div", {staticClass: "suit-multiple-item_name"}, [e._v(e._s(t.product_name))]), e._v(" "), r("div", {staticClass: "suit-single-item-operate"}, [r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "0" == t.num,
                    expression: "value.num == '0'"
                }], staticClass: "suit-single-empty-sign"
            }), e._v(" "), r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "0" != t.num,
                    expression: "value.num != '0'"
                }], staticClass: "suit-single-selected-sign"
            })])]) : e._e(), e._v(" "), r("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: !!t.num && 0 != t.props.length,
                    expression: "!!value.num&&value.props.length!= 0"
                }]
            }, [r("div", {staticClass: "property-ul"}, e._l(t.props, function (t, n) {
                return r("div", {
                    key: t.p_name_id,
                    staticClass: "property-li"
                }, [r("h3", {staticClass: "property-group-title"}, [e._v(e._s(t.p_name)), "1" == t.is_required ? r("span", {staticClass: "property-group-request"}, [e._v("（必选）")]) : e._e()]), e._v(" "), r("section", {staticClass: "property-body"}, e._l(t.values, function (t, s) {
                    return r("div", {
                        key: t.p_value_id,
                        class: {"property-item-default": !t.status, "property-item-selected": t.status},
                        on: {
                            click: function (t) {
                                e.selectProps(n, s, i)
                            }
                        }
                    }, [e._v("\n                                                " + e._s(t.p_value) + "\n                                            ")])
                }))])
            }))]), e._v(" "), e._e()])
        }))])])]), e._v(" "), r("div", {
            staticClass: "menu-modal-footer",
            on: {click: e.certain}
        }, [r("div", [e._v("加入购物")])])])])
    }, Wt = [], Xt = {
        render: qt,
        staticRenderFns: Wt
    }, Jt = Xt, Vt = r(0), Qt = Vt(zt, Jt, null, null, null), Yt = Qt.exports, Kt = {
        name: "Search",
        components: {"menu-item": pe},
        data: function () {
            return {msg: ""}
        },
        computed: Object(V.mapState)({
            menuData: function (e) {
                return e.Menu.searchResult
            }, searchStatus: function (e) {
                return e.Menu.searchStatus
            }
        }),
        mounted: function () {
            this.$refs.searchInput.focus()
        },
        watch: {
            msg: function (e, t) {
                this.$store.dispatch("Menu/search", {msg: e})
            }
        },
        methods: {
            close: function () {
                this.$store.dispatch("Menu/searchClear"), this.$router.back()
            }, clear: function () {
                this.msg = "", this.$refs.searchInput.focus()
            }, plus: function (e) {
                "single" === e.type ? (this.$store.dispatch("synDiffGroupMenuData", {
                    id: e.id,
                    groupId: e.item_id,
                    num: 1,
                    operateType: "add"
                }), this.$store.dispatch("ShopCar/addSingle", {
                    data: e,
                    num: 1
                })) : "property" === e.type ? (this.$store.dispatch("Property/initProps", {data: e}), this.$router.push("propertyModel")) : (this.$store.dispatch("Suit/initSuit", {data: e}), this.$router.push("suitModel"))
            }, minus: function (e) {
                "single" === e.type && (this.$store.dispatch("synDiffGroupMenuData", {
                    id: e.id,
                    groupId: e.item_id,
                    num: -1,
                    operateType: "reduce"
                }), this.$store.dispatch("ShopCar/reduceSingle", {data: e, num: -1}))
            }
        }
    }, Zt = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {attrs: {id: "search-model"}}, [r("div", {staticClass: "search-header"}, [r("div", {staticClass: "search-input"}, [r("i", {staticClass: "search-model-icon"}), e._v(" "), r("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.msg,
                expression: "msg",
                modifiers: {trim: !0}
            }],
            ref: "searchInput",
            attrs: {type: "text", placeholder: "搜 索"},
            domProps: {value: e.msg},
            on: {
                input: function (t) {
                    t.target.composing || (e.msg = t.target.value.trim())
                }, blur: function (t) {
                    e.$forceUpdate()
                }
            }
        }), e._v(" "), r("i", {
            directives: [{name: "show", rawName: "v-show", value: !!e.msg, expression: "!!msg"}],
            staticClass: "search-clear",
            on: {
                click: function (t) {
                    t.stopPropagation(), e.clear(t)
                }
            }
        })]), e._v(" "), r("div", {
            staticClass: "search-cancel", on: {
                click: function (t) {
                    t.stopPropagation(), e.close(t)
                }
            }
        }, [e._v("关 闭")])]), e._v(" "), r("div", {staticClass: "search-model-body scrollbar"}, [r("transition", {attrs: {name: "backdrop"}}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: 0 != e.menuData.length,
                expression: "menuData.length != 0"
            }], attrs: {id: "search-list"}
        }, [e._l(e.menuData, function (t) {
            return [r("menu-item", {key: t.id, attrs: {product: t}, on: {add: e.plus, reduce: e.minus}})]
        })], 2)]), e._v(" "), r("transition", {attrs: {name: "backdrop"}}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: 0 == e.searchStatus,
                expression: "searchStatus == false"
            }], staticClass: "emptySearch"
        }, [e._v("店家没有此菜品，客官换一个呗~ (∩＿∩)")])])], 1)])
    }, er = [], tr = {
        render: Zt,
        staticRenderFns: er
    }, rr = tr, ir = r(0), nr = ir(Kt, rr, null, null, null), sr = nr.exports;
    z.default.use(xt.default);
    var ar, or, ur = [{path: "/search", component: sr}, {path: "/propertyModel", component: $t}, {
        path: "/suitModel",
        component: Yt
    }], cr = new xt.default({routes: ur}), dr = cr, pr = [{
        path: "/search",
        backdrop: !0,
        animation: "slide-down",
        zIndex: "9"
    }, {path: "/propertyModel", backdrop: !0, animation: "slide-up", zIndex: "5"}, {
        path: "/suitModel",
        backdrop: !0,
        animation: "slide-up",
        zIndex: "5"
    }, {path: "/", backdrop: !1, animation: "slide-up", zIndex: "5"}], lr = {
        name: "App",
        data: function () {
            return {routerAnimation: ""}
        },
        computed: Object(V.mapState)({
            backdrop: function (e) {
                return e.backdrop
            }, jump: function (e) {
                return e.jump
            }, shopCarModelStatus: function (e) {
                return e.shopCarModelStatus
            }, promptText: function (e) {
                return e.promptText
            }, showCoupons: function (e) {
                return e.showCoupons
            }, advert: function (e) {
                return e.advert
            }, advertImg: function (e) {
                return e.advertImg
            }, backdropIndex: function (e) {
                return e.backdropIndex
            }, preOrder: function (e) {
                return e.preOrder
            }, preOrderStatus: function (e) {
                return e.preOrderStatus
            }, preOrderShow: function (e) {
                return e.preOrderShow
            }
        }),
        components: {
            InfoBar: ie,
            MenuArea: ke,
            NavArea: Me,
            ShopCarBar: He,
            ShopCarModel: Ke,
            Coupons: at,
            Advert: vt,
            PreOrder: Pt
        },
        methods: {
            his: function () {
                MtaH5.clickStat("1010a"), recordAction.add("011"), Object(J.showhisOrder)()
            }, person: function () {
                MtaH5.clickStat("1010b"), recordAction.add("013"), Object(J.showUserInfo)()
            }, closePreOrder: function () {
                this.$store.dispatch("closePreOrderModel"), this.$store.dispatch("switchBackdrop", {})
            }
        },
        watch: {
            $route: function (e, t) {
                for (var r = e.path, i = (t.path, 0), n = pr.length; i < n; i++)if (pr[i].path == r) {
                    var s = pr[i].zIndex;
                    this.$store.dispatch("switchBackdrop", {
                        status: pr[i].backdrop,
                        zIndex: s || 5
                    }), this.routerAnimation = pr[i].animation, this.$store.dispatch("fixScrollBreakthrough", {state: "close"});
                    break
                }
                "/" == e.path && this.$store.dispatch("fixScrollBreakthrough", {state: "open"})
            }
        },
        mounted: function () {
            St.a.attach(document.body)
        },
        created: function () {
            var e = this;
            s().then(function (t) {
                var r = t.data, i = r.detail, s = r.doc_switch_info;
                1 == +s.status && e.$store.dispatch("promptText", {
                    status: !0,
                    text: s.desc
                }), e.$store.dispatch("initData", {d: i}), e.$store.dispatch("InfoBar/initShopInfo", {
                    shopName: i.shopname,
                    minorname: i.minorname,
                    shopLogo: i.shoplogo
                }), e.$store.dispatch("ShopCar/initPlatformFee", {
                    isOpenPlatformFee: i.is_open_platform_fee,
                    minCustomPrice: i.min_orderprice_for_platform_fee,
                    platformFee: i.platform_fee
                }), n().then(function (t) {
                    var r = t.data;
                    if ("0" != r.ret_code || sessionStorage.preOrderId) {
                        if (localStorage.shopCarData) {
                            var i = JSON.parse(localStorage.shopCarData).selectedMenus;
                            localStorage.removeItem("shopCarData"), e.$store.dispatch("recoverShopCar", {data: i})
                        }
                    } else {
                        var n = r.products ? r.products : [];
                        localStorage.shopCarData && localStorage.removeItem("shopCarData"), sessionStorage.preOrderId = r.id, e.$store.dispatch("recoverPreOrder", {products: n}).then(function (t) {
                            t && e.$store.dispatch("switchBackdrop", {zIndex: 9})
                        })
                    }
                }).catch(function (e) {
                    console.error(e)
                })
            }).catch(function (e) {
                console.error(e)
            }), document.body.addEventListener("touchstart touchmove", function (e) {
                e.preventDefault(), e.stopPropagation()
            })
        },
        beforeCreate: function () {
            var e = Object(J.getCookie)("advert");
            (e = !!e && JSON.parse(JSON.parse(e))) && 10401 != e.ret_code && e.page && 0 != e.page.length && (Object(J.delCookie)("advert"), this.$store.dispatch("bigAdvert", {
                img: e.page[0].background_pic,
                status: !0
            }));
            var t = Object(J.getCookie)("shop_closed"), r = Object(J.getCookie)("pay_channel"), i = Object(J.isWeiXin)();
            "2" == r && i ? this.$store.dispatch("promptText", {
                status: !0,
                text: "亲，微信扫码正在升级中，建议暂时使用支付宝！"
            }) : "5" != r || i || this.$store.dispatch("promptText", {
                status: !0,
                text: "本店只支持 微信支付！"
            }), "1" == t && this.$store.dispatch("promptText", {
                status: !0,
                text: "本店系统升级中，请联系服务员点单！"
            }), sessionStorage.isCloseCouponPopup && sessionStorage.removeItem("isCloseCouponPopup")
        }
    }, mr = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {attrs: {id: "App"}}, [r("info-bar"), e._v(" "), r("section", {attrs: {id: "APP-body"}}, [r("nav-area"), e._v(" "), r("menu-area"), e._v(" "), r("transition", {attrs: {name: "slide-up"}}, [e.shopCarModelStatus ? r("shop-car-model") : e._e()], 1), e._v(" "), r("shop-car-bar")], 1), e._v(" "), r("transition", {attrs: {name: e.routerAnimation}}, [r("router-view")], 1), e._v(" "), r("transition", {attrs: {name: "backdrop"}}, [r("section", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.backdrop,
                expression: "backdrop"
            }], style: e.backdropIndex, attrs: {id: "backdrop"}
        }, [e._v(e._s(e.promptText))])]), e._v(" "), r("transition", {attrs: {name: "stretch-down"}}, [r("section", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.jump,
                expression: "jump"
            }], attrs: {id: "jump-page"}
        }, [r("i", {staticClass: "jump-triangle"}), e._v(" "), r("div", {
            staticClass: "page-class",
            on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.his(t)
                }
            }
        }, [e._v("历史订单")]), e._v(" "), r("div", {
            staticClass: "page-class", on: {
                click: function (t) {
                    if (t.target !== t.currentTarget)return null;
                    e.person(t)
                }
            }
        }, [e._v("个人中心")])])]), e._v(" "), r("transition", {attrs: {name: "scale"}}, [r("coupons", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.showCoupons,
                expression: "showCoupons"
            }]
        })], 1), e._v(" "), r("transition", {attrs: {name: "scale"}}, [e.preOrderShow ? r("pre-order", {
            attrs: {
                preOrder: e.preOrder,
                preOrderStatus: e.preOrderStatus
            }, on: {closePreOrder: e.closePreOrder}
        }) : e._e()], 1), e._v(" "), e.advert ? r("advert", {attrs: {img: e.advertImg}}) : e._e()], 1)
    }, vr = [], fr = {
        render: mr,
        staticRenderFns: vr
    }, _r = fr, hr = r(0), gr = hr(lr, _r, null, null, null), yr = gr.exports, Cr = {
        groupItems: [],
        data: [],
        currentIndex: 0,
        navAreaDom: "",
        navAreaDomHeight: ""
    }, br = {}, Pr = (ar = {}, a(ar, "INITGROUPDATA", function (e, t) {
        var r = t.data;
        e.data = r
    }), a(ar, "CHANGCURRENTGROUP", function (e, t) {
        var r = t.sort;
        if (-1 != r && e.currentIndex != r) {
            e.data[e.currentIndex].status = !1, e.data[r].status = !0, e.currentIndex = r;
            o({
                parentHeight: e.navAreaDomHeight,
                parentScrollTop: e.navAreaDom.scrollTop,
                ParentOffSetTop: e.navAreaDom.offsetTop,
                chilOffSetTop: e.groupItems[r].offsetTop
            }) || e.groupItems[r].scrollIntoView()
        }
    }), a(ar, "INITGROUPDOM", function (e, t) {
        var r = t.arr, i = t.navAreaDom;
        e.groupItems = r, e.navAreaDom = i, e.navAreaDomHeight = i.clientHeight
    }), a(ar, "ADD", function (e, t) {
        var r = t.groupIndex, i = t.num, n = e.data[r].num;
        e.data[r].num = Number(n) + Number(i)
    }), a(ar, "REDUCE", function (e, t) {
        var r = t.groupIndex, i = t.num, n = Number(e.data[r].num) + Number(i);
        e.data[r].num = n > 0 ? n : 0
    }), ar), wr = {state: Cr, mutations: Pr, actions: br, namespaced: !0}, Sr = -1, xr = {
        menuData: [],
        groupDom: [],
        specialIds: [],
        searchResult: [],
        searchStatus: void 0,
        showPicture: !0
    }, Ir = {
        scroll: function (e, t) {
            var r = (e.state, e.commit), i = t.menuAreaDom, n = t.groupTitle;
            t.groupTitleDom;
            Object(J.throttle)("scroll", "menusScroll", i), i.addEventListener("menusScroll", function (e) {
                var t = e.target.scrollTop, i = -1, s = n.length;
                if (-1 === Sr)for (var a = 0; a < s; a++) {
                    if (n[a] <= t && n[a + 1] && n[a + 1] > t) {
                        i = a, r("Group/CHANGCURRENTGROUP", {sort: i}, {root: !0});
                        break
                    }
                    n[a + 1] || r("Group/CHANGCURRENTGROUP", {sort: s - 1}, {root: !0})
                } else Sr = -1
            })
        }, scrollTargetDom: function (e, t) {
            var r = e.commit, i = e.state, n = (e.dispatch, t.index);
            Sr = n, r("Group/CHANGCURRENTGROUP", {sort: n}, {root: !0}), i.groupDom[n].scrollIntoView()
        }, search: function (e, t) {
            var r = e.commit, i = e.state, n = t.msg, s = [].concat(i.menuData), a = [];
            if ("" != n) {
                for (var o = 0, u = s.length; o < u; o++) {
                    var c = s[o];
                    if (-1 === i.specialIds.indexOf(c.classifyId))for (var d = 0, p = c.data.length; d < p; d++) {
                        var l = c.data[d];
                        -1 != l.name.indexOf(n) && a.push(l)
                    }
                }
                0 !== a.length ? r("SEARCHRESULT", {result: a, status: !0}) : r("SEARCHRESULT", {
                    result: [],
                    status: !1
                })
            } else r("SEARCHRESULT", {result: [], status: void 0})
        }, searchClear: function (e) {
            (0, e.commit)("SEARCHRESULT", {result: [], status: void 0})
        }
    }, kr = (or = {}, u(or, "INITDATA", function (e, t) {
        var r = t.data, i = t.specialIds, n = t.showPicture;
        e.menuData = r, e.specialIds = i, e.showPicture = "1" == n
    }), u(or, "INITGROUPDOM", function (e, t) {
        var r = t.arr;
        e.groupDom = r
    }), u(or, "ADD", function (e, t) {
        var r = t.groupIndex, i = t.menuIndex, n = t.num, s = e.menuData[r].data[i].num;
        e.menuData[r].data[i].num = Number(s) + Number(n)
    }), u(or, "REDUCE", function (e, t) {
        var r = t.groupIndex, i = t.menuIndex, n = t.num, s = Number(e.menuData[r].data[i].num) + Number(n);
        e.menuData[r].data[i].num = s > 0 ? s : 0
    }), u(or, "SEARCHRESULT", function (e, t) {
        var r = t.result, i = t.status;
        e.searchResult = r, e.searchStatus = i
    }), or), Or = {state: xr, actions: Ir, mutations: kr, namespaced: !0}, Nr = {
        name: "DdAlert", data: function () {
            return {visible: !1, msg: "", onClose: null}
        }, watch: {
            close: function (e) {
                e && (this.visible = !1, this.$el.addEventListener("transitionend", this.destroyElement))
            }
        }, methods: {
            destroyElement: function () {
                this.$el.removeEventListener("transitionend", this.destroyElement), this.$el.parentNode.removeChild(this.$el), this.$destroy(!0)
            }, closeModel: function () {
                var e = this;
                this.visible = !1, setTimeout(function () {
                    e.$el.parentNode.removeChild(e.$el), e.$destroy(!0)
                }, 250)
            }
        }
    }, Tr = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {
            attrs: {id: "dd-alert"},
            on: {click: e.closeModel}
        }, [r("transition", {attrs: {name: "scale-fade"}}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.visible,
                expression: "visible"
            }], attrs: {id: "alert"}
        }, [r("div", {
            staticClass: "alert-close", on: {
                click: function (t) {
                    t.stopPropagation(), e.closeModel(t)
                }
            }
        }), e._v(" "), r("div", {staticClass: "alert-body"}, [e._v(e._s(e.msg))])])])], 1)
    }, Ar = [], Dr = {
        render: Tr,
        staticRenderFns: Ar
    }, Er = Dr, $r = r(0), Mr = $r(Nr, Er, null, null, null), Rr = Mr.exports, Lr = z.default.extend(Rr), Fr = void 0, jr = [], Gr = 1, Ur = {
        visible: !1,
        msg: "",
        onClose: null,
        close: !1
    }, Br = function (e) {
        e = e || {}, "string" == typeof e && (e = {msg: e}), e = Object(J.merge)({}, Ur, e);
        e.onClose, Gr++;
        return Fr = new Lr({data: e}), Fr.vm = Fr.$mount(), document.body.appendChild(Fr.vm.$el), Fr.dom = Fr.vm.$el, jr.push(Fr), z.default.nextTick(function () {
            Fr.visible = !0
        }), Fr.vm
    }, Hr = Br, zr = Hr, qr = {
        name: "dd-confirm", data: function () {
            return {msg: "", title: void 0, confirmBtn: "", cancelBtn: "", cancelShow: !0, visible: !1, closed: !1}
        }, watch: {
            closed: function (e) {
                e && (this.visible = !1, this.$el.addEventListener("transitionend", this.destroyElement))
            }
        }, methods: {
            destroyElement: function () {
                this.$el.removeEventListener("transitionend", this.destroyElement), this.$el.parentNode.removeChild(this.$el), this.$destroy(!0)
            }, handleAction: function (e) {
                this.callback(e), this.closed = !0
            }
        }
    }, Wr = function () {
        var e = this, t = e.$createElement, r = e._self._c || t;
        return r("section", {attrs: {id: "dd-confirm"}}, [r("transition", {attrs: {name: "slide-down"}}, [r("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.visible,
                expression: "visible"
            }], attrs: {id: "confirm"}
        }, [e.title ? r("div", {staticClass: "confirm-header"}, [e._v(e._s(e.title))]) : e._e(), e._v(" "), r("div", {staticClass: "confirm-body"}, [e._v(e._s(e.msg))]), e._v(" "), r("div", {staticClass: "confirm-footer"}, [r("div", {
            staticClass: "confirm-center",
            on: {
                click: function (t) {
                    e.handleAction("confirm")
                }
            }
        }, [e._v(e._s(e.confirmBtn))]), e._v(" "), e.cancelShow ? r("div", {
            staticClass: "confirm-cancel",
            on: {
                click: function (t) {
                    e.handleAction("cancel")
                }
            }
        }, [e._v(e._s(e.cancelBtn))]) : e._e()])])])], 1)
    }, Xr = [], Jr = {
        render: Wr,
        staticRenderFns: Xr
    }, Vr = Jr, Qr = r(0), Yr = Qr(qr, Vr, null, null, null), Kr = Yr.exports, Zr = z.default.extend(Kr), ei = {
        msg: "",
        title: void 0,
        confirmBtn: "确 定",
        cancelBtn: "取 消",
        showCancel: !0,
        visible: !1,
        closed: !1,
        callback: null
    }, ti = void 0, ri = function (e, t) {
        return new Promise(function (r, i) {
            e = e || {}, "string" == typeof e && (e = {msg: e}), e.callback = function (e) {
                var i = {confirm: "confirm" === e};
                "function" == typeof t && t(i), r(i)
            }, e = Object.assign({}, ei, e), ti = new Zr({data: e}), ti.vm = ti.$mount(), ti.dom = ti.vm.$el, document.body.appendChild(ti.vm.$el), ti.vm.visible = !0
        })
    }, ii = ri, ni = ii, si = function e(t) {
        arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
        e.installed || (t.prototype.$alert = zr, t.prototype.$confirm = ni)
    };
    "undefined" != typeof window && window.Vue && si(window.Vue);
    var ai, oi, ui, ci, di, pi, li, mi = {install: si, Alert: zr, Confirm: ni}, vi = {
        addSingle: function (e, t) {
            var r = e.commit, i = e.state, n = t.data, s = t.num, a = d(i.selectedMenus, {
                menuType: "single",
                id: n.id
            });
            if (-1 === a) {
                var o = c(n, s);
                o.sendDataFormat = n.id + "_" + s + "_" + n.price + "_" + n.name + "_" + n.curr_price + "_", r("ADDMENU", {menu: o})
            } else {
                var u = Number(i.selectedMenus[a].userSelectedNum) + Number(s);
                r("UPDATEMENU", {str: p({newNum: u, data: i.selectedMenus[a]}), newNum: u, rank: a})
            }
        }, reduceSingle: function (e, t) {
            var r = e.commit, i = e.state, n = t.data, s = t.num, a = d(i.selectedMenus, {
                menuType: "single",
                id: n.id
            }), o = Number(i.selectedMenus[a].userSelectedNum) + Number(s);
            if (0 != o) {
                r("UPDATEMENU", {str: p({newNum: o, data: i.selectedMenus[a]}), newNum: o, rank: a})
            } else r("DELETEMENU", {index: a})
        }, addProperty: function (e, t) {
            var r = e.commit, i = e.state, n = t.data, s = t.num, a = d(i.selectedMenus, {
                menuType: "property",
                id: n.id,
                deputyId: n.propsIdString
            });
            if (-1 === a) {
                var o = c(n, s);
                o.sendDataFormat = n.sendDataFormat, o.propsIdString = n.propsIdString, o.propertyBasePrice = n.propertyBasePrice, r("ADDMENU", {menu: o})
            } else {
                var u = Number(i.selectedMenus[a].userSelectedNum) + Number(s);
                r("UPDATEMENU", {str: p({newNum: u, data: i.selectedMenus[a]}), newNum: u, rank: a})
            }
        }, addSuit: function (e, t) {
            var r = e.commit, i = e.state, n = t.data, s = t.num, a = d(i.selectedMenus, {
                menuType: "suit",
                id: n.id,
                deputyId: n.suitsIdCombinationStr
            });
            if (-1 === a) {
                var o = c(n, s);
                o.sendDataFormat = n.sendDataFormat, o.suitsIdCombinationStr = n.suitsIdCombinationStr, o.suitBasePrice = n.suitBasePrice, o.suitItem = n.suitItem, r("ADDMENU", {menu: o})
            } else {
                var u = Number(i.selectedMenus[a].userSelectedNum) + Number(s);
                r("UPDATEMENU", {str: p({newNum: u, data: i.selectedMenus[a]}), newNum: u, rank: a})
            }
        }, switchShopCar: function (e) {
            var t = e.commit, r = e.state, i = e.dispatch;
            r.selectedMenus.length > 0 && (i("switchBackdrop", {}, {root: !0}), t("SWITCHSHOPCARMODEL", null, {root: !0}))
        }, shopCarAdd: function (e, t) {
            var r = e.commit, i = e.state, n = e.dispatch, s = t.index, a = Number(i.selectedMenus[s].userSelectedNum) + 1, o = i.selectedMenus[s], u = p({
                newNum: a,
                data: o
            });
            n("synDiffGroupMenuData", {
                id: o.id,
                groupId: o.item_id,
                num: 1,
                operateType: "add"
            }, {root: !0}), r("UPDATEMENU", {str: u, newNum: a, rank: s})
        }, clearShopCar: function (e) {
            for (var t = e.commit, r = e.state, i = e.dispatch, n = [].concat(r.selectedMenus), s = 0, a = n.length; s < a; s++)i("synDiffGroupMenuData", {
                id: n[s].id,
                groupId: n[s].item_id,
                num: -n[s].userSelectedNum,
                operateType: "reduce"
            }, {root: !0}), t("DELETEMENU", {i: s});
            i("switchBackdrop", {}, {root: !0}), t("SWITCHSHOPCARMODEL", null, {root: !0})
        }, shopCarReduce: function (e, t) {
            var r = e.commit, i = e.state, n = e.dispatch, s = t.index, a = Number(i.selectedMenus[s].userSelectedNum), o = i.selectedMenus[s], u = i.selectedMenus.length;
            if (n("synDiffGroupMenuData", {
                    id: o.id,
                    groupId: o.item_id,
                    num: -1,
                    operateType: "reduce"
                }, {root: !0}), a > 1) {
                var c = a - 1;
                r("UPDATEMENU", {str: p({newNum: c, data: o}), newNum: c, rank: s})
            } else r("DELETEMENU", {index: s}), 1 === u && (n("switchBackdrop", {}, {root: !0}), r("SWITCHSHOPCARMODEL", null, {root: !0}))
        }, next: function (e) {
            var t = (e.state, J.getCookie("needRegCode")), r = J.getTableCode(), i = J.getShopId(), n = J.getUserId();
            sessionStorage.setItem("needRegCode", t);
            var s = J.getCookie("ddtech_usermobile") ? J.getCookie("ddtech_usermobile") : void 0, a = Boolean(r) ? r : "";
            localStorage.comfimPageEnterLabel = "online", s && 11 === s.length || 2 == t ? window.location.href = J.targetlink("confirmDishes.html?shop_id=" + i + "&tablecode=" + a + "&userid=" + n) : window.location.href = J.targetlink("login.html?shop_id=" + i + "&tablecode=" + a + "&target=confirm&userid=" + n)
        }, recoverShopCar: function (e, t) {
            (0, e.commit)("RECOVER", {data: t.data})
        }, initCoupon: function (e, t) {
            var r = e.commit, i = t.coupons, n = t.couponStatus;
            0 != i.length && r("INITCOUPONS", {coupons: i, couponStatus: n})
        }, initPlatformFee: function (e, t) {
            (0, e.commit)("INITPLATFORMFEE", {
                isOpenPlatformFee: t.isOpenPlatformFee,
                minCustomPrice: t.minCustomPrice,
                platformFee: t.platformFee
            })
        }
    }, fi = {
        selectedMenus: [],
        discountMinPrice: 0,
        discountStatus: !1,
        discount_pay_type: 0,
        couponStatus: "N",
        coupons: [],
        countPrice: 0,
        join_discount_price: 0,
        isOpenPlatformFee: 0,
        minCustomPrice: 0,
        platformFee: 0,
        platfromCollectStatus: !1
    }, _i = {
        menuCount: function (e) {
            var t = 0;
            return e.selectedMenus.map(function (e) {
                t += e.userSelectedNum
            }), t
        }, price: function (e) {
            var t = 0;
            return e.selectedMenus.map(function (e) {
                t = [t, e.currPrice * e.userSelectedNum].priceAddFormat()
            }), e.platfromCollectStatus ? [t, e.platformFee].priceAddFormat() : t
        }, discountPrompt: function (e) {
            var t = e.coupons, r = t.length;
            if ((0 === r || "N" === e.couponStatus) && !e.discountStatus)return !1;
            if (e.discountStatus && e.join_discount_price > 0) {
                if (e.countPrice < e.discountMinPrice) {
                    var i = 10 == e.discount_pay_type ? "饭卡折扣" : "在线折扣";
                    return "还差" + [e.discountMinPrice, e.countPrice].priceReduceFormat() + "元,您就可享受" + i + "!"
                }
                return !1
            }
            if (0 != r && "Y" === e.couponStatus) {
                for (var n = -1, s = 99999, a = 0, o = 0; o < r; o++) {
                    var u = t[o];
                    if (u.order_min_price > e.countPrice) {
                        var c = [u.order_min_price, e.countPrice].priceReduceFormat();
                        if (c < s || c == s && u.par_value > a)if ("1" != u.coupontype)s = c, a = u.par_value, n = o; else {
                            var d = m(e.selectedMenus, u.product_id);
                            d && (s = c, a = u.par_value, n = o)
                        }
                    }
                }
                return -1 != n && ("1" != t[n].coupontype ? "还差" + s + "元,您就可使用一张" + a + "元券!" : "还差" + s + "元,您就可" + a + '元吃"' + t[n].product_name + '"!')
            }
            return !1
        }, platformFeePrompt: function (e) {
            return !!e.platfromCollectStatus && "包含平台服务费" + e.platformFee + "元"
        }
    }, hi = (ai = {}, l(ai, "ADDMENU", function (e, t) {
        var r = t.menu;
        e.selectedMenus.push(r), v(e.selectedMenus, e)
    }), l(ai, "UPDATEMENU", function (e, t) {
        var r = t.str, i = t.newNum, n = t.rank;
        e.selectedMenus[n].userSelectedNum = i, e.selectedMenus[n].sendDataFormat = r, v(e.selectedMenus, e)
    }), l(ai, "DELETEMENU", function (e, t) {
        var r = t.index;
        e.selectedMenus.splice(r, 1), v(e.selectedMenus, e)
    }), l(ai, "RECOVER", function (e, t) {
        var r = t.data;
        e.selectedMenus = r, v(r, e)
    }), l(ai, "INITCOUPONS", function (e, t) {
        var r = t.coupons, i = t.couponStatus;
        e.coupons = r, e.couponStatus = i
    }), l(ai, "INITROOT", function (e, t) {
        var r = t.pay_type, i = t.discount, n = t.min_order_price;
        e.discount_pay_type = r, e.discountStatus = i, e.discountMinPrice = n
    }), l(ai, "INITPLATFORMFEE", function (e, t) {
        var r = t.isOpenPlatformFee, i = t.minCustomPrice, n = t.platformFee;
        e.isOpenPlatformFee = r, e.minCustomPrice = i, e.platformFee = n
    }), ai), gi = {state: fi, getters: _i, actions: vi, mutations: hi, namespaced: !0}, yi = {
        name: "",
        minPrice: 0,
        maxPrice: 0,
        price: 0,
        originalPrice: 0,
        propsPrice: [],
        props: [],
        img: "",
        sales: 0,
        markup: !1
    }, Ci = {
        displayRang: function (e) {
            if (e.minPrice === e.maxPrice)return !1;
            for (var t = 0, r = e.props.length; t < r; t++)for (var i = e.props[t].values, n = 0, s = i.length; n < s; n++)if (i[n].status)return !1;
            return !0
        }
    }, bi = {
        initProps: function (e, t) {
            var r = e.commit, i = t.data, n = i.name, s = i.small_pic, a = i.sales, o = [].concat(i.prop_prices), u = _([].concat(i.props), o), c = g(i.props, o), d = Number(i.curr_price), p = [c, i.curr_price].priceAddFormat(), l = [i.curr_price, u[1]].priceAddFormat(), m = [i.price, u[1]].priceAddFormat(), v = u[0], f = i.markup;
            ui = i, r("INITDATA", {
                d: {
                    name: n,
                    minPrice: d,
                    maxPrice: p,
                    price: l,
                    originalPrice: m,
                    propsPrice: o,
                    props: v,
                    menuData: Object(J.merge)({}, i),
                    img: s,
                    sales: a,
                    markup: f
                }
            })
        }, selectProp: function (e, t) {
            var r = e.commit, i = e.state, n = t.index, s = t.i, a = [].concat(i.props), o = a[n], u = i.price, c = i.originalPrice, d = P({
                group: o,
                propsPrice: i.propsPrice,
                i: s,
                price: u,
                originalPrice: c
            });
            o = d.group, u = d.price, c = d.originalPrice, r("UPDATE", {data: a, price: u, originalPrice: c})
        }, certain: function (e) {
            var t = (e.commit, e.state), r = e.dispatch;
            return new Promise(function (e, i) {
                if (!b(t.props))return void e(!1);
                var n = C({
                    data: {
                        id: ui.id,
                        price_type: ui.price_type,
                        originalPrice: t.originalPrice,
                        price: t.price,
                        name: t.name
                    }, props: t.props, num: 1
                }), s = t.name + ("0" != n[1].length ? "(" + n[1].join("、") + ")" : ""), a = {
                    name: s,
                    userSelectedNum: 1,
                    curr_price: t.price,
                    propsIdString: n[2],
                    sendDataFormat: n[0].sendDataFormat,
                    id: ui.id,
                    item_id: ui.item_id,
                    price: t.price,
                    type: ui.type,
                    price_type: ui.price_type,
                    is_discount: ui.is_discount,
                    propertyBasePrice: ui.curr_price,
                    originalPrice: t.originalPrice,
                    disct_rate: ui.disct_rate || 10,
                    min_order_price: ui.min_order_price || void 0
                };
                r("ShopCar/addProperty", {data: a, num: 1}, {root: !0}), r("synDiffGroupMenuData", {
                    id: a.id,
                    groupId: a.item_id,
                    num: 1,
                    operateType: "add"
                }, {root: !0}), e(!0)
            })
        }, preOrder: function (e, t) {
            for (var r = (e.commit, e.state, e.dispatch), i = t.data, n = t.num, s = t.preOrderProps, a = Object(J.merge)({}, i), o = a.props, u = a.prop_prices, c = a.curr_price, d = a.price, p = 0, l = s.length; p < l; p++) {
                var m = s[p];
                e:for (var v = 0, f = o.length; v < f; v++) {
                    var _ = o[v];
                    if (_.p_name_id == m.p_name_id)for (var h = 0, g = _.values.length; h < g; h++)if (_.values[h].p_value_id == m.p_value_id) {
                        var y = P({group: _, propsPrice: u, i: h, price: c, originalPrice: d});
                        c = y.price, d = y.originalPrice;
                        break e
                    }
                }
            }
            var b = C({
                data: {id: a.id, price_type: a.price_type, originalPrice: d, price: c, name: a.name},
                props: o,
                num: n
            });
            r("ShopCar/addProperty", {
                data: {
                    name: a.name + ("0" != b[1].length ? "(" + b[1].join("、") + ")" : ""),
                    userSelectedNum: n,
                    curr_price: c,
                    propsIdString: b[2],
                    sendDataFormat: b[0].sendDataFormat,
                    id: a.id,
                    item_id: a.item_id,
                    price: c,
                    type: a.type,
                    price_type: a.price_type,
                    is_discount: a.is_discount,
                    propertyBasePrice: a.curr_price,
                    originalPrice: d,
                    disct_rate: a.disct_rate || 10,
                    min_order_price: a.min_order_price || void 0
                }, num: n
            }, {root: !0})
        }
    }, Pi = (oi = {}, f(oi, "INITDATA", function (e, t) {
        var r = t.d;
        e.name = r.name, e.minPrice = r.minPrice, e.maxPrice = r.maxPrice, e.price = r.price, e.originalPrice = r.originalPrice, e.propsPrice = r.propsPrice, e.props = r.props, e.img = r.img, e.sales = r.sales, e.markup = r.markup
    }), f(oi, "UPDATE", function (e, t) {
        var r = t.data, i = t.price, n = t.originalPrice;
        e.props = r, e.price = i, e.originalPrice = n
    }), oi), wi = {state: yi, getters: Ci, actions: bi, mutations: Pi, namespaced: !0}, Si = {
        name: "",
        minPrice: 0,
        maxPrice: 0,
        price: 0,
        originalPrice: 0,
        suitGroup: [],
        currentGroup: {},
        currentList: [],
        img: "",
        single: !1,
        suits: [],
        sales: 0,
        markup: !1
    }, xi = {
        displayRang: function (e) {
            if (+e.minPrice == +e.maxPrice)return !1;
            for (var t = 0, r = e.suits.length; t < r; t++)for (var i = e.suits[t].suit_products, n = 0, s = i.length; n < s; n++)if (0 != i[n].num)return !1;
            return !0
        }
    }, Ii = {
        initSuit: function (e, t) {
            var r = e.commit, i = t.data, n = i.name, s = i.small_pic, a = i.sales, o = S({
                arr: i.suit_items,
                price: i.curr_price,
                originalPrice: i.price
            }), u = o.single, c = o.arr, d = o.price, p = o.originalPrice, l = o.suitGroup, m = o.suitPrice, v = {
                name: c[0].name,
                max_select_no: c[0].max_select_no,
                min_select_no: c[0].min_select_no,
                is_multiple: c[0].is_multiple,
                is_required: c[0].is_required,
                index: 0
            }, f = [].concat(c[0].suit_products);
            l[0].status = !0, di = c, pi = i, r("INITDATA", {
                d: {
                    name: n,
                    img: s,
                    single: u,
                    suitGroup: l,
                    originalPrice: p,
                    price: d,
                    suits: c,
                    sales: a,
                    currentGroup: v,
                    currentList: f,
                    minPrice: Number(i.curr_price),
                    maxPrice: [m, i.curr_price].priceAddFormat(),
                    markup: i.markup
                }
            })
        }, addItem: function (e, t) {
            var r = e.commit, i = e.state, n = (e.dispatch, t.index), s = x({
                targetItem: [].concat(i.currentList),
                suitGroup: [].concat(i.suitGroup),
                groupIndex: i.currentGroup.index,
                index: n,
                num: 1,
                max_select_no: i.currentGroup.max_select_no,
                originalPrice: i.originalPrice,
                price: i.price,
                suitsData: di
            }), a = s.status, o = s.targetItem, u = s.suitGroup, c = s.originalPrice, d = s.price, p = s.suitsData;
            a && (di = p, r("UPDATEDATA", {targetItem: o, suitGroup: u, originalPrice: c, price: d}))
        }, reduceItem: function (e, t) {
            var r = e.commit, i = e.state, n = (e.dispatch, t.index), s = x({
                targetItem: [].concat(i.currentList),
                suitGroup: [].concat(i.suitGroup),
                groupIndex: i.currentGroup.index,
                index: n,
                num: -1,
                max_select_no: i.currentGroup.max_select_no,
                originalPrice: i.originalPrice,
                price: i.price,
                suitsData: di
            }), a = s.status, o = s.targetItem, u = s.suitGroup, c = s.originalPrice, d = s.price, p = s.suitsData;
            a && (di = p, r("UPDATEDATA", {targetItem: o, suitGroup: u, originalPrice: c, price: d, suits: p}))
        }, switchGroup: function (e, t) {
            var r = e.commit;
            e.state;
            r("SWITCHGROUP", {index: t.index})
        }, propsSelect: function (e, t) {
            var r = e.commit;
            e.state;
            r("PROPS", {index: t.index, i: t.i, parent: t.parent})
        }, certain: function (e) {
            var t = (e.commit, e.state), r = e.dispatch;
            return new Promise(function (e, i) {
                if (!k(t.suits))return void e(!1);
                var n = O({
                    data: t.suits,
                    originalPrice: t.originalPrice,
                    name: t.name,
                    price: t.price,
                    id: pi.id,
                    num: 1
                }), s = {
                    name: t.name,
                    userSelectedNum: 1,
                    curr_price: t.price,
                    originalPrice: t.originalPrice,
                    suitsIdCombinationStr: n[1],
                    sendDataFormat: n[0],
                    suitItem: n[2],
                    id: pi.id,
                    item_id: pi.item_id,
                    price: t.price,
                    type: pi.type,
                    price_type: pi.price_type,
                    is_discount: pi.is_discount,
                    suitBasePrice: t.price,
                    min_order_price: pi.min_order_price || void 0,
                    disct_rate: pi.disct_rate || 10
                };
                r("ShopCar/addSuit", {data: s, num: 1}, {root: !0}), r("synDiffGroupMenuData", {
                    id: s.id,
                    groupId: s.item_id,
                    num: 1,
                    operateType: "add"
                }, {root: !0}), e(!0)
            })
        }, preOrder: function (e, t) {
            for (var r = (e.commit, e.state, e.dispatch), i = t.data, n = t.num, s = t.preOrderSuit, a = Object(J.merge)({}, i), o = a.suit_items, u = a.curr_price, c = a.price, d = 0, p = s.length; d < p; d++) {
                var l = s[d];
                e:for (var m = 0, v = o.length; m < v; m++) {
                    var f = o[m];
                    if (f.suit_id == l.suit_group_id)for (var _ = 0, h = f.suit_products.length; _ < h; _++) {
                        var g = f.suit_products[_];
                        if (g.product_id == l.sub_prod_id) {
                            if (g.num = l.quantity, u = [u, g.inc_price].priceAddFormat(), c = [c, g.inc_price].priceAddFormat(), 0 != l.order_product_sku.length) {
                                g.props;
                                t:for (var y = 0, C = l.order_product_sku.length; y < C; y++)for (var b = l.order_product_sku[y], P = 0, w = g.props.length; P < w; P++) {
                                    var S = g.props[P];
                                    if (S.p_name_id == b.p_name_id)for (var x = 0, I = S.values.length; x < I; x++) {
                                        var k = S.values[x];
                                        if (k.p_value_id == b.p_value_id) {
                                            k.status = !0;
                                            break t
                                        }
                                    }
                                }
                            }
                            break e
                        }
                    }
                }
            }
            var N = O({data: o, originalPrice: c, name: a.name, price: u, id: a.id, num: n});
            r("ShopCar/addSuit", {
                data: {
                    name: a.name,
                    userSelectedNum: n,
                    curr_price: u,
                    originalPrice: c,
                    suitsIdCombinationStr: N[1],
                    sendDataFormat: N[0],
                    suitItem: N[2],
                    id: a.id,
                    item_id: a.item_id,
                    price: u,
                    type: a.type,
                    price_type: a.price_type,
                    is_discount: a.is_discount,
                    suitBasePrice: u,
                    min_order_price: a.min_order_price || void 0,
                    disct_rate: a.disct_rate || 10
                }, num: n
            }, {root: !0})
        }
    }, ki = (ci = {}, w(ci, "INITDATA", function (e, t) {
        var r = t.d;
        e.name = r.name, e.minPrice = r.minPrice, e.maxPrice = r.maxPrice, e.price = r.price, e.originalPrice = r.originalPrice, e.suitGroup = r.suitGroup, e.currentGroup = r.currentGroup, e.currentList = r.currentList, e.img = r.img, e.single = r.single, e.suits = r.suits, e.sales = r.sales, e.markup = r.markup
    }), w(ci, "UPDATEDATA", function (e, t) {
        var r = t.targetItem, i = t.suitGroup, n = t.originalPrice, s = t.price, a = t.suits;
        !!r && (e.currentList = r), !!a && (e.suits = a), !!i && (e.suitGroup = i), !!n && (e.originalPrice = n), !!s && (e.price = s)
    }), w(ci, "SWITCHGROUP", function (e, t) {
        var r = t.index;
        e.suitGroup[e.currentGroup.index].status = !1, e.suitGroup[r].status = !0, e.currentGroup = {
            name: di[r].name,
            max_select_no: di[r].max_select_no,
            min_select_no: di[r].min_select_no,
            is_multiple: di[r].is_multiple,
            is_required: di[r].is_required,
            index: r
        }, e.currentList = di[r].suit_products
    }), w(ci, "PROPS", function (e, t) {
        var r = t.index, i = t.i, n = t.parent, s = [].concat(e.currentList), a = s[n].props[r], o = a.values[i].status;
        if ("1" != a.is_multiple) {
            for (var u = 0, c = a.values.length; u < c; u++)a.values[u].status = !1;
            "1" == a.is_required && o ? a.values[i].status = o : a.values[i].status = !o
        } else if ("1" == a.is_required) {
            for (var d = 0, p = 0, l = a.values.length; p < l; p++)a.values[p].status && p != i && d++;
            a.values[i].status = !(d > 0) || !o
        } else a.values[i].status = !o;
        di[e.currentGroup.index].suit_products = s, e.currentList = s, e.suits = di
    }), ci), Oi = {state: Si, getters: xi, actions: Ii, mutations: ki, namespaced: !0}, Ni = {
        coupons: [],
        couponNumber: 0,
        couponStatus: "Y",
        shopName: "",
        minorname: "",
        shopLogo: {src: "", error: "http://imgcdn.diandianwaimai.com/dd_op/attached/image/imgs/new_scan_code_logo.png"}
    }, Ti = {
        initCoupon: function (e, t) {
            (0, e.commit)("INITCOUPON", {coupons: t.coupons, couponStatus: t.couponStatus})
        }, initShopInfo: function (e, t) {
            (0, e.commit)("INITSHOPINFO", {shopName: t.shopName, minorname: t.minorname, shopLogo: t.shopLogo})
        }
    }, Ai = (li = {}, N(li, "INITCOUPON", function (e, t) {
        var r = t.coupons, i = t.couponStatus;
        e.coupons = r, e.couponNumber = r.length, e.couponStatus = i
    }), N(li, "INITSHOPINFO", function (e, t) {
        var r = t.shopName, i = t.minorname, n = t.shopLogo;
        e.shopName = r, e.minorname = i, e.shopLogo.src = n || "http://imgcdn.diandianwaimai.com/dd_op/attached/image/imgs/new_scan_code_logo.png"
    }), li), Di = {state: Ni, actions: Ti, mutations: Ai, namespaced: !0}, Ei = function (e, t, r) {
        var i = {
            speed: 166.67, curvature: .001, progress: function () {
            }, complete: function () {
            }
        }, n = {};
        r = r || {};
        for (var s in i)n[s] = r[s] || i[s];
        var a = {
            mark: function () {
                return this
            }, position: function () {
                return this
            }, move: function () {
                return this
            }, init: function () {
                return this
            }
        }, o = "margin", u = document.createElement("div");
        "oninput" in u && ["", "ms", "webkit"].forEach(function (e) {
            var t = e + (e ? "T" : "t") + "ransform";
            t in u.style && (o = t)
        });
        var c = n.curvature, d = 0, p = !0;
        if (e && t && 1 == e.nodeType && 1 == t.nodeType) {
            var l = {}, m = {}, v = {}, f = {}, _ = {}, h = {};
            a.mark = function () {
                return 0 == p ? this : (void 0 === _.x && this.position(), e.setAttribute("data-center", [_.x, _.y].join()), t.setAttribute("data-center", [h.x, h.y].join()), this)
            }, a.position = function () {
                if (0 == p)return this;
                var r = document.documentElement.scrollLeft || document.body.scrollLeft, i = document.documentElement.scrollTop || document.body.scrollTop;
                return "margin" == o ? e.style.marginLeft = e.style.marginTop = "0px" : e.style[o] = "translate(0, 0)", l = e.getBoundingClientRect(), m = t.getBoundingClientRect(), v = {
                    x: l.left + (l.right - l.left) / 2 + r,
                    y: l.top + (l.bottom - l.top) / 2 + i
                }, f = {x: m.left + (m.right - m.left) / 2 + r, y: m.top + (m.bottom - m.top) / 2 + i}, _ = {
                    x: 0,
                    y: 0
                }, h = {x: -1 * (v.x - f.x), y: -1 * (v.y - f.y)}, d = (h.y - c * h.x * h.x) / h.x, this
            }, a.move = function () {
                if (0 == p)return this;
                var t = 0, r = h.x > 0 ? 1 : -1, i = function i() {
                    var s = 2 * c * t + d;
                    t += r * Math.sqrt(n.speed / (s * s + 1)), (1 == r && t > h.x || -1 == r && t < h.x) && (t = h.x);
                    var a = t, u = c * a * a + d * a;
                    e.setAttribute("data-center", [Math.round(a), Math.round(u)].join()), "margin" == o ? (e.style.marginLeft = a + "px", e.style.marginTop = u + "px") : e.style[o] = "translate(" + [a + "px", u + "px"].join() + ")", t !== h.x ? (n.progress(a, u), window.requestAnimationFrame(i)) : (n.complete(), p = !0)
                };
                return window.requestAnimationFrame(i), p = !1, this
            }, a.init = function () {
                this.position().mark().move()
            }
        }
        return a
    }, $i = Ei;
    !function () {
        for (var e = 0, t = ["webkit", "moz"], r = 0; r < t.length && !window.requestAnimationFrame; ++r)window.requestAnimationFrame = window[t[r] + "RequestAnimationFrame"], window.cancelAnimationFrame = window[t[r] + "CancelAnimationFrame"] || window[t[r] + "CancelRequestAnimationFrame"];
        window.requestAnimationFrame || (window.requestAnimationFrame = function (t, r) {
            var i = (new Date).getTime(), n = Math.max(0, 16.7 - (i - e)), s = window.setTimeout(function () {
                t(i + n)
            }, n);
            return e = i + n, s
        }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function (e) {
            clearTimeout(e)
        })
    }();
    var Mi, Ri, Li, Fi, ji = [], Gi = [], Ui = {
        backdrop: !1,
        shopCarModelStatus: !1,
        jump: !1,
        promptText: "",
        isWX: !1,
        showCoupons: !1,
        advertImg: "",
        advert: !1,
        backdropIndex: {zIndex: 5},
        preOrder: [],
        preOrderStatus: !1,
        preOrderShow: !1
    }, Bi = {
        initData: function (e, t) {
            var r = e.commit, i = t.d, n = [], s = [], a = !1;
            if (i.sales.length > 0) {
                var o = A(i.sales);
                n.push({id: "01", itemname: "销量排行", is_attach: "0", status: !1, display: !0, num: 0}), s.push({
                    data: o[0],
                    title: "销量排行",
                    sort: "0",
                    classifyId: "01",
                    productsId: o[1]
                })
            }
            if (i.discount_products && i.discount_products.length > 0 && 10 == i.pay_type && Object(J.isWeiXin)()) {
                a = !0;
                var u = A(i.discount_products);
                n.push({id: "02", itemname: "饭卡折扣", is_attach: "0", status: !1, display: !0, num: 0}), s.push({
                    data: u[0],
                    title: "饭卡折扣",
                    sort: "1",
                    classifyId: "02",
                    productsId: u[1]
                })
            }
            if (i.discount_products && i.discount_products.length > 0 && 999 == i.pay_type) {
                a = !0;
                var c = A(i.discount_products);
                n.push({id: "03", itemname: "在线折扣", is_attach: "0", status: !1, display: !0, num: 0}), s.push({
                    data: c[0],
                    title: "在线折扣",
                    sort: "2",
                    classifyId: "03",
                    productsId: c[1]
                })
            }
            Gi = s.map(function (e) {
                return e.classifyId
            });
            for (var d = 0, p = i.items.length; d < p; d++) {
                var l = i.items[d], m = {
                    id: l.id,
                    itemname: l.itemname,
                    is_attach: l.is_attach,
                    status: !1,
                    display: !0,
                    num: 0
                };
                n.push(m), n[0].status = !0;
                var v = A(l.products);
                s.push({data: v[0], title: l.itemname, sort: s.length, classifyId: l.id, productsId: v[1]})
            }
            ji = s, r("Group/INITGROUPDATA", {data: n}), r("Menu/INITDATA", {
                data: s,
                specialIds: Gi,
                showPicture: i.show_product_pic
            }), r("ShopCar/INITROOT", {
                pay_type: i.pay_type,
                discount: a,
                min_order_price: i.min_order_price >= 0 ? i.min_order_price : 0
            }), r("INIT")
        }, synDiffGroupMenuData: function (e, t) {
            L({
                commit: e.commit,
                id: t.id,
                groupId: t.groupId,
                num: t.num,
                operateType: t.operateType,
                $eventX: t.$eventX,
                $eventY: t.$eventY
            })
        }, queryMenu: function (e, t) {
            e.commit, t.id, t.groupId
        }, openJumpPage: function (e) {
            var t = e.commit;
            e.state;
            t("JUMPPAGE", {status: !0})
        }, closeJumpPage: function (e) {
            (0, e.commit)("JUMPPAGE", {status: !1})
        }, promptText: function (e, t) {
            (0, e.commit)("SWITCHBACKDROP", {status: t.status, text: t.text, zIndex: 999})
        }, switchBackdrop: function (e, t) {
            var r = e.commit, i = e.state, n = t.zIndex, s = t.status;
            if (s != i.backdrop) {
                r("SWITCHBACKDROP", {status: void 0 != s ? s : !i.backdrop, zIndex: n || 5})
            }
        }, checkCoupons: function (e) {
            (0, e.commit)("CHECKCOUPON", {status: !e.state.showCoupons})
        }, bigAdvert: function (e, t) {
            (0, e.commit)("ADVERT", {img: t.img, status: !0})
        }, closeAdvert: function (e) {
            (0, e.commit)("ADVERT", {img: "", status: !1})
        }, recoverShopCar: function (e, t) {
            for (var r = e.commit, i = e.dispatch, n = t.data, s = [], a = 0, o = n.length; a < o; a++) {
                var u = n[a];
                if ("single" == u.type) {
                    L({
                        commit: r,
                        id: u.id,
                        groupId: u.item_id,
                        num: u.userSelectedNum,
                        operateType: "add"
                    }) && s.push(u)
                } else if ("property" == u.type) {
                    var c = u.propsIdString.split("_");
                    c.shift();
                    var d = F({id: u.id, groupId: u.item_id});
                    if (d.status) {
                        var p = j(d.data.props, c);
                        if (p) {
                            L({commit: r, id: u.id, groupId: u.item_id, num: u.userSelectedNum, operateType: "add"});
                            s.push(u)
                        }
                    }
                } else {
                    var l = F({id: u.id, groupId: u.item_id});
                    if (l.status) {
                        var m = G(l.data.suit_items, u.suitsIdCombinationStr);
                        if (m) {
                            L({commit: r, id: u.id, groupId: u.item_id, num: u.userSelectedNum, operateType: "add"});
                            s.push(u)
                        }
                    }
                }
            }
            0 != s.length && i("ShopCar/recoverShopCar", {data: s}, {root: !0})
        }, recoverPreOrder: function (e, t) {
            var r = e.commit, i = e.dispatch, n = t.products;
            return new Promise(function (e, t) {
                var s = n.length, a = !1;
                console.log(n, s), 0 === s && e(!1);
                for (var o = 0; o < s; o++) {
                    var u = n[o], c = F({id: u.product_id, groupId: u.item_id});
                    if (c.status)if ("single" === c.data.type) {
                        u.type = "single";
                        L({commit: r, id: u.product_id, groupId: u.item_id, num: u.quantity, operateType: "add"});
                        u.status = !0, a = !0, i("ShopCar/addSingle", {data: c.data, num: u.quantity}, {root: !0})
                    } else if ("property" === c.data.type) {
                        var d = [];
                        u.type = "property";
                        for (var p = 0, l = u.order_product_sku.length; p < l; p++)d.push(Number(u.order_product_sku[p].p_value_id));
                        var m = j(c.data.props, d);
                        if (m) {
                            L({commit: r, id: u.product_id, groupId: u.item_id, num: u.quantity, operateType: "add"});
                            a = !0, u.status = !0, i("Property/preOrder", {
                                data: c.data,
                                num: u.quantity,
                                preOrderProps: u.order_product_sku
                            }, {root: !0})
                        }
                    } else {
                        u.type = "suit";
                        var v = H(c.data.suit_items, u.suit_products);
                        if (v) {
                            L({commit: r, id: u.product_id, groupId: u.item_id, num: u.quantity, operateType: "add"});
                            i("Suit/preOrder", {
                                data: c.data,
                                num: u.quantity,
                                preOrderSuit: u.suit_products
                            }, {root: !0}), u.status = !0, a = !0
                        }
                    } else u.status = !1
                }
                r("PREORDER", {products: n, preOrderStatus: a}), e(!0)
            })
        }, closePreOrderModel: function (e) {
            (0, e.commit)("CLOSEPREORDER")
        }, fixScrollBreakthrough: function (e, t) {
            var r = (e.commit, t.state);
            !Li && (Li = document.getElementById("menu-area")), !Fi && (Fi = document.getElementById("nav-area")), "close" === r ? (Li.style.overflow = "hidden", Fi.style.overflow = "hidden") : (Li.style.overflow = "auto", Fi.style.overflow = "auto")
        }
    }, Hi = (Mi = {}, T(Mi, "INIT", function (e) {
        e.isWX = Object(J.isWeiXin)(), e.isWX && R()
    }), T(Mi, "SWITCHBACKDROP", function (e, t) {
        var r = t.status, i = t.text, n = t.zIndex;
        e.backdrop = r, e.promptText = i || "", e.backdropIndex.zIndex = n
    }), T(Mi, "SWITCHSHOPCARMODEL", function (e) {
        e.shopCarModelStatus = !e.shopCarModelStatus
    }), T(Mi, "JUMPPAGE", function (e, t) {
        var r = t.status;
        e.jump = r
    }), T(Mi, "CHECKCOUPON", function (e, t) {
        var r = t.status;
        e.showCoupons = r
    }), T(Mi, "ADVERT", function (e, t) {
        var r = t.img, i = t.status;
        e.advertImg = r, e.advert = i
    }), T(Mi, "PREORDER", function (e, t) {
        var r = t.products, i = t.preOrderStatus;
        e.preOrder = r, e.preOrderStatus = i, 0 != r.length && (e.preOrderShow = !0)
    }), T(Mi, "CLOSEPREORDER", function (e) {
        e.preOrderShow = !1
    }), Mi);
    z.default.use(V.default);
    var zi = new V.default.Store({
        state: Ui,
        actions: Bi,
        mutations: Hi,
        strict: !1,
        modules: {Group: wr, Menu: Or, ShopCar: gi, Property: wi, Suit: Oi, InfoBar: Di}
    });
    r(12), r(13);
    window.addEventListener("pageshow", function (e) {
        e.persisted && window.location.reload()
    }), z.default.use(X.a, {
        preLoad: 1.3,
        attempt: 1,
        error: "http://imgcdn.diandianwaimai.com/dd_op/attached/image/imgs/160.png",
        loading: "http://imgcdn.diandianwaimai.com/dd_op/attached/image/imgs/160.png"
    }), z.default.use(q.default), z.default.use(mi), new z.default({
        store: zi, router: dr, render: function (e) {
            return e(yr)
        }
    }).$mount("#app")
}, function (e, t, r) {/*!
 * Vue-Lazyload.js v1.0.6
 * (c) 2017 Awe <hilongjw@gmail.com>
 * Released under the MIT License.
 */
    !function (t, r) {
        e.exports = r()
    }(0, function () {
        "use strict";
        function e(e, t) {
            if (e.length) {
                var r = e.indexOf(t);
                return r > -1 ? e.splice(r, 1) : void 0
            }
        }

        function t(e, t) {
            if (!e || !t)return e || {};
            if (e instanceof Object)for (var r in t)e[r] = t[r];
            return e
        }

        function r(e, t) {
            for (var r = !1, i = 0, n = e.length; i < n; i++)if (t(e[i])) {
                r = !0;
                break
            }
            return r
        }

        function i(e, t) {
            if ("IMG" === e.tagName && e.getAttribute("data-srcset")) {
                var r = e.getAttribute("data-srcset"), i = [], n = e.parentNode, s = n.offsetWidth * t, a = void 0, o = void 0, u = void 0;
                r = r.trim().split(","), r.map(function (e) {
                    e = e.trim(), a = e.lastIndexOf(" "), -1 === a ? (o = e, u = 999998) : (o = e.substr(0, a), u = parseInt(e.substr(a + 1, e.length - a - 2), 10)), i.push([u, o])
                }), i.sort(function (e, t) {
                    if (e[0] < t[0])return -1;
                    if (e[0] > t[0])return 1;
                    if (e[0] === t[0]) {
                        if (-1 !== t[1].indexOf(".webp", t[1].length - 5))return 1;
                        if (-1 !== e[1].indexOf(".webp", e[1].length - 5))return -1
                    }
                    return 0
                });
                for (var c = "", d = void 0, p = i.length, l = 0; l < p; l++)if (d = i[l], d[0] >= s) {
                    c = d[1];
                    break
                }
                return c
            }
        }

        function n(e, t) {
            for (var r = void 0, i = 0, n = e.length; i < n; i++)if (t(e[i])) {
                r = e[i];
                break
            }
            return r
        }

        function s() {
            if (!l)return !1;
            var e = !0, t = document;
            try {
                var r = t.createElement("object");
                r.type = "image/webp", r.style.visibility = "hidden", r.innerHTML = "!", t.body.appendChild(r), e = !r.offsetWidth, t.body.removeChild(r)
            } catch (t) {
                e = !1
            }
            return e
        }

        function a(e, t) {
            var r = null, i = 0;
            return function () {
                if (!r) {
                    var n = Date.now() - i, s = this, a = arguments, o = function () {
                        i = Date.now(), r = !1, e.apply(s, a)
                    };
                    n >= t ? o() : r = setTimeout(o, t)
                }
            }
        }

        function o(e) {
            return null !== e && "object" === (void 0 === e ? "undefined" : c(e))
        }

        function u(e) {
            if (!(e instanceof Object))return [];
            if (Object.keys)return Object.keys(e);
            var t = [];
            for (var r in e)e.hasOwnProperty(r) && t.push(r);
            return t
        }

        var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
            return typeof e
        } : function (e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol ? "symbol" : typeof e
        }, d = function (e, t) {
            if (!(e instanceof t))throw new TypeError("Cannot call a class as a function")
        }, p = function () {
            function e(e, t) {
                for (var r = 0; r < t.length; r++) {
                    var i = t[r];
                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
                }
            }

            return function (t, r, i) {
                return r && e(t.prototype, r), i && e(t, i), t
            }
        }(), l = "undefined" != typeof window, m = function () {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;
            return l && window.devicePixelRatio || e
        }, v = function () {
            if (l) {
                var e = !1;
                try {
                    var t = Object.defineProperty({}, "passive", {
                        get: function () {
                            e = !0
                        }
                    });
                    window.addEventListener("test", null, t)
                } catch (e) {
                }
                return e
            }
        }(), f = {
            on: function (e, t, r) {
                v ? e.addEventListener(t, r, {passive: !0}) : e.addEventListener(t, r, !1)
            }, off: function (e, t, r) {
                e.removeEventListener(t, r)
            }
        }, _ = function (e, t, r) {
            var i = new Image;
            i.src = e.src, i.onload = function () {
                t({naturalHeight: i.naturalHeight, naturalWidth: i.naturalWidth, src: i.src})
            }, i.onerror = function (e) {
                r(e)
            }
        }, h = function (e, t) {
            return "undefined" != typeof getComputedStyle ? getComputedStyle(e, null).getPropertyValue(t) : e.style[t]
        }, g = function (e) {
            return h(e, "overflow") + h(e, "overflow-y") + h(e, "overflow-x")
        }, y = function (e) {
            if (l) {
                if (!(e instanceof HTMLElement))return window;
                for (var t = e; t && t !== document.body && t !== document.documentElement && t.parentNode;) {
                    if (/(scroll|auto)/.test(g(t)))return t;
                    t = t.parentNode
                }
                return window
            }
        }, C = {}, b = function () {
            function e(t) {
                var r = t.el, i = t.src, n = t.error, s = t.loading, a = t.bindType, o = t.$parent, u = t.options, c = t.elRenderer;
                d(this, e), this.el = r, this.src = i, this.error = n, this.loading = s, this.bindType = a, this.attempt = 0, this.naturalHeight = 0, this.naturalWidth = 0, this.options = u, this.filter(), this.initState(), this.performanceData = {
                    init: Date.now(),
                    loadStart: null,
                    loadEnd: null
                }, this.rect = r.getBoundingClientRect(), this.$parent = o, this.elRenderer = c, this.render("loading", !1)
            }

            return p(e, [{
                key: "initState", value: function () {
                    this.state = {error: !1, loaded: !1, rendered: !1}
                }
            }, {
                key: "record", value: function (e) {
                    this.performanceData[e] = Date.now()
                }
            }, {
                key: "update", value: function (e) {
                    var t = e.src, r = e.loading, i = e.error, n = this.src;
                    this.src = t, this.loading = r, this.error = i, this.filter(), n !== this.src && (this.attempt = 0, this.initState())
                }
            }, {
                key: "getRect", value: function () {
                    this.rect = this.el.getBoundingClientRect()
                }
            }, {
                key: "checkInView", value: function () {
                    return this.getRect(), this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0
                }
            }, {
                key: "filter", value: function () {
                    var e = this;
                    u(this.options.filter).map(function (t) {
                        e.options.filter[t](e, e.options)
                    })
                }
            }, {
                key: "renderLoading", value: function (e) {
                    var t = this;
                    _({src: this.loading}, function (r) {
                        t.render("loading", !1), e()
                    })
                }
            }, {
                key: "load", value: function () {
                    var e = this;
                    return this.attempt > this.options.attempt - 1 && this.state.error ? void(this.options.silent || console.log("error end")) : this.state.loaded || C[this.src] ? this.render("loaded", !0) : void this.renderLoading(function () {
                        e.attempt++, e.record("loadStart"), _({src: e.src}, function (t) {
                            e.naturalHeight = t.naturalHeight, e.naturalWidth = t.naturalWidth, e.state.loaded = !0, e.state.error = !1, e.record("loadEnd"), e.render("loaded", !1), C[e.src] = 1
                        }, function (t) {
                            e.state.error = !0, e.state.loaded = !1, e.render("error", !1)
                        })
                    })
                }
            }, {
                key: "render", value: function (e, t) {
                    this.elRenderer(this, e, t)
                }
            }, {
                key: "performance", value: function () {
                    var e = "loading", t = 0;
                    return this.state.loaded && (e = "loaded", t = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1e3), this.state.error && (e = "error"), {
                        src: this.src,
                        state: e,
                        time: t
                    }
                }
            }, {
                key: "destroy", value: function () {
                    this.el = null, this.src = null, this.error = null, this.loading = null, this.bindType = null, this.attempt = 0
                }
            }]), e
        }(), P = "", w = ["scroll", "wheel", "mousewheel", "resize", "animationend", "transitionend", "touchmove"], S = function (u) {
            return function () {
                function c(e) {
                    var t = this, r = e.preLoad, i = e.error, n = e.preLoadTop, o = e.dispatchEvent, u = e.loading, p = e.attempt, l = e.silent, v = e.scale, f = e.listenEvents, _ = (e.hasbind, e.filter), h = e.adapter;
                    d(this, c), this.version = "1.0.6", this.ListenerQueue = [], this.TargetIndex = 0, this.TargetQueue = [], this.options = {
                        silent: l || !0,
                        dispatchEvent: !!o,
                        preLoad: r || 1.3,
                        preLoadTop: n || 0,
                        error: i || P,
                        loading: u || P,
                        attempt: p || 3,
                        scale: v || m(v),
                        ListenEvents: f || w,
                        hasbind: !1,
                        supportWebp: s(),
                        filter: _ || {},
                        adapter: h || {}
                    }, this._initEvent(), this.lazyLoadHandler = a(function () {
                        var e = !1;
                        t.ListenerQueue.forEach(function (t) {
                            t.state.loaded || (e = t.checkInView()) && t.load()
                        })
                    }, 200)
                }

                return p(c, [{
                    key: "config", value: function () {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                        t(this.options, e)
                    }
                }, {
                    key: "performance", value: function () {
                        var e = [];
                        return this.ListenerQueue.map(function (t) {
                            e.push(t.performance())
                        }), e
                    }
                }, {
                    key: "addLazyBox", value: function (e) {
                        this.ListenerQueue.push(e), l && (this._addListenerTarget(window), e.$el && e.$el.parentNode && this._addListenerTarget(e.$el.parentNode))
                    }
                }, {
                    key: "add", value: function (e, t, n) {
                        var s = this;
                        if (r(this.ListenerQueue, function (t) {
                                return t.el === e
                            }))return this.update(e, t), u.nextTick(this.lazyLoadHandler);
                        var a = this._valueFormatter(t.value), o = a.src, c = a.loading, d = a.error;
                        u.nextTick(function () {
                            o = i(e, s.options.scale) || o;
                            var r = Object.keys(t.modifiers)[0], a = void 0;
                            r && (a = n.context.$refs[r], a = a ? a.$el || a : document.getElementById(r)), a || (a = y(e));
                            var p = new b({
                                bindType: t.arg,
                                $parent: a,
                                el: e,
                                loading: c,
                                error: d,
                                src: o,
                                elRenderer: s._elRenderer.bind(s),
                                options: s.options
                            });
                            s.ListenerQueue.push(p), l && (s._addListenerTarget(window), s._addListenerTarget(a)), s.lazyLoadHandler(), u.nextTick(function () {
                                return s.lazyLoadHandler()
                            })
                        })
                    }
                }, {
                    key: "update", value: function (e, t) {
                        var r = this, s = this._valueFormatter(t.value), a = s.src, o = s.loading, c = s.error;
                        a = i(e, this.options.scale) || a;
                        var d = n(this.ListenerQueue, function (t) {
                            return t.el === e
                        });
                        d && d.update({src: a, loading: o, error: c}), this.lazyLoadHandler(), u.nextTick(function () {
                            return r.lazyLoadHandler()
                        })
                    }
                }, {
                    key: "remove", value: function (t) {
                        if (t) {
                            var r = n(this.ListenerQueue, function (e) {
                                return e.el === t
                            });
                            r && (this._removeListenerTarget(r.$parent), this._removeListenerTarget(window), e(this.ListenerQueue, r) && r.destroy())
                        }
                    }
                }, {
                    key: "removeComponent", value: function (t) {
                        t && (e(this.ListenerQueue, t), t.$parent && t.$el.parentNode && this._removeListenerTarget(t.$el.parentNode), this._removeListenerTarget(window))
                    }
                }, {
                    key: "_addListenerTarget", value: function (e) {
                        if (e) {
                            var t = n(this.TargetQueue, function (t) {
                                return t.el === e
                            });
                            return t ? t.childrenCount++ : (t = {
                                el: e,
                                id: ++this.TargetIndex,
                                childrenCount: 1,
                                listened: !0
                            }, this._initListen(t.el, !0), this.TargetQueue.push(t)), this.TargetIndex
                        }
                    }
                }, {
                    key: "_removeListenerTarget", value: function (e) {
                        var t = this;
                        this.TargetQueue.forEach(function (r, i) {
                            r.el === e && (--r.childrenCount || (t._initListen(r.el, !1), t.TargetQueue.splice(i, 1), r = null))
                        })
                    }
                }, {
                    key: "_initListen", value: function (e, t) {
                        var r = this;
                        this.options.ListenEvents.forEach(function (i) {
                            return f[t ? "on" : "off"](e, i, r.lazyLoadHandler)
                        })
                    }
                }, {
                    key: "_initEvent", value: function () {
                        var t = this;
                        this.Event = {listeners: {loading: [], loaded: [], error: []}}, this.$on = function (e, r) {
                            t.Event.listeners[e].push(r)
                        }, this.$once = function (e, r) {
                            function i() {
                                n.$off(e, i), r.apply(n, arguments)
                            }

                            var n = t;
                            t.$on(e, i)
                        }, this.$off = function (r, i) {
                            return i ? void e(t.Event.listeners[r], i) : void(t.Event.listeners[r] = [])
                        }, this.$emit = function (e, r, i) {
                            t.Event.listeners[e].forEach(function (e) {
                                return e(r, i)
                            })
                        }
                    }
                }, {
                    key: "_elRenderer", value: function (e, t, r) {
                        if (e.el) {
                            var i = e.el, n = e.bindType, s = void 0;
                            switch (t) {
                                case"loading":
                                    s = e.loading;
                                    break;
                                case"error":
                                    s = e.error;
                                    break;
                                default:
                                    s = e.src
                            }
                            if (n ? i.style[n] = "url(" + s + ")" : i.getAttribute("src") !== s && i.setAttribute("src", s), i.setAttribute("lazy", t), this.$emit(t, e, r), this.options.adapter[t] && this.options.adapter[t](e, this.options), this.options.dispatchEvent) {
                                var a = new CustomEvent(t, {detail: e});
                                i.dispatchEvent(a)
                            }
                        }
                    }
                }, {
                    key: "_valueFormatter", value: function (e) {
                        var t = e, r = this.options.loading, i = this.options.error;
                        return o(e) && (e.src || this.options.silent || console.error("Vue Lazyload warning: miss src with " + e), t = e.src, r = e.loading || this.options.loading, i = e.error || this.options.error), {
                            src: t,
                            loading: r,
                            error: i
                        }
                    }
                }]), c
            }()
        }, x = function (e) {
            return {
                props: {tag: {type: String, default: "div"}}, render: function (e) {
                    return !1 === this.show ? e(this.tag) : e(this.tag, null, this.$slots.default)
                }, data: function () {
                    return {state: {loaded: !1}, rect: {}, show: !1}
                }, mounted: function () {
                    e.addLazyBox(this), e.lazyLoadHandler()
                }, beforeDestroy: function () {
                    e.removeComponent(this)
                }, methods: {
                    getRect: function () {
                        this.rect = this.$el.getBoundingClientRect()
                    }, checkInView: function () {
                        return this.getRect(), l && this.rect.top < window.innerHeight * e.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * e.options.preLoad && this.rect.right > 0
                    }, load: function () {
                        this.show = !0, this.state.loaded = !0, this.$emit("show", this)
                    }
                }
            }
        };
        return {
            install: function (e) {
                var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = S(e), n = new i(r), s = "2" === e.version.split(".")[0];
                e.prototype.$Lazyload = n, r.lazyComponent && e.component("lazy-component", x(n)), s ? e.directive("lazy", {
                    bind: n.add.bind(n),
                    update: n.update.bind(n),
                    componentUpdated: n.lazyLoadHandler.bind(n),
                    unbind: n.remove.bind(n)
                }) : e.directive("lazy", {
                    bind: n.lazyLoadHandler.bind(n), update: function (e, r) {
                        t(this.vm.$refs, this.vm.$els), n.add(this.el, {
                            modifiers: this.modifiers || {},
                            arg: this.arg,
                            value: e,
                            oldValue: r
                        }, {context: this.vm})
                    }, unbind: function () {
                        n.remove(this.el)
                    }
                })
            }
        }
    })
}, function (e, t) {
}, function (e, t) {
}], [10]);